亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? editableompoly.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
                    if (ll.length != 0) {                        System.arraycopy(ll, 0, newll, 0, ll.length);                    }                    newll[ll.length] = llpnt.radlat_;                    newll[ll.length + 1] = llpnt.radlon_;                    position = ll.length / 2;                } else if (actualPosition <= 0) {                    // Put the new point at the beginning                    System.arraycopy(ll, 0, newll, 2, ll.length);                    newll[0] = llpnt.radlat_;                    newll[1] = llpnt.radlon_;                    position = 0;                } else {                    // actualPosition because there are 2 floats for                    // every                    // position.                    newll[actualPosition] = llpnt.radlat_;                    newll[actualPosition + 1] = llpnt.radlon_;                    System.arraycopy(ll, 0, newll, 0, actualPosition);                    System.arraycopy(ll,                            actualPosition,                            newll,                            actualPosition + 2,                            ll.length - actualPosition);                }                poly.setLocation((float[]) newll, OMGraphic.RADIANS);            }        } else if (renderType == OMGraphic.RENDERTYPE_XY) {            // Grab the projected endpoints            Debug.message("eomg", "EditableOMPoly: adding point to x/y poly");            int currentLength = poly.xs.length;            int[] newxs = new int[currentLength + 1];            int[] newys = new int[currentLength + 1];            if (position >= currentLength) {                // Put the new points at the end                System.arraycopy(poly.xs, 0, newxs, 0, currentLength);                System.arraycopy(poly.ys, 0, newys, 0, currentLength);                newxs[currentLength] = x;                newys[currentLength] = y;                position = currentLength;            } else if (position <= 0) {                // Put the new points at the beginning                System.arraycopy(poly.xs, 0, newxs, 1, currentLength);                System.arraycopy(poly.ys, 0, newys, 1, currentLength);                newxs[0] = x;                newys[0] = y;                position = 0;            } else {                newxs[position] = x;                newys[position] = y;                System.arraycopy(poly.xs, 0, newxs, 0, position);                System.arraycopy(poly.xs,                        position,                        newxs,                        position + 1,                        currentLength - position);                System.arraycopy(poly.ys, 0, newys, 0, position);                System.arraycopy(poly.ys,                        position,                        newys,                        position + 1,                        currentLength - position);            }            poly.setLocation(newxs, newys);        } else {            // Rendertype is offset...            // Grab the projected endpoints            Debug.message("eomg", "EditableOMPoly: adding point to offset poly");            int currentLength = poly.xs.length;            int[] newxs = new int[currentLength + 1];            int[] newys = new int[currentLength + 1];            if (position >= currentLength) {                // Put the new points at the end                position = currentLength;                System.arraycopy(poly.xs, 0, newxs, 0, currentLength);                System.arraycopy(poly.ys, 0, newys, 0, currentLength);            } else if (position <= 0) {                // Put the new points at the beginning                position = 0;                System.arraycopy(poly.xs, 0, newxs, 1, currentLength);                System.arraycopy(poly.ys, 0, newys, 1, currentLength);            } else {                System.arraycopy(poly.xs, 0, newxs, 0, position);                System.arraycopy(poly.xs,                        position,                        newxs,                        position + 1,                        currentLength - position);                System.arraycopy(poly.ys, 0, newys, 0, position);                System.arraycopy(poly.ys,                        position,                        newys,                        position + 1,                        currentLength - position);            }            int offsetX;            int offsetY;            if (gpo.getX() == -1 && gpo.getY() == -1) {                offsetX = projection.getWidth() / 2;                offsetY = projection.getHeight() / 2;            } else {                offsetX = gpo.getX();                offsetY = gpo.getY();            }            if (poly.coordMode == OMPoly.COORDMODE_ORIGIN || position == 0) { // cover                                                                              // the                                                                              // first                                                                              // point                newxs[position] = x - offsetX;                newys[position] = y - offsetY;            } else { // CMode Previous offset deltas                newxs[position] = x - offsetX - newxs[position - 1];                newys[position] = y - offsetY - newys[position - 1];            }            if (position == 0) {                // Could call projection.getCenter() but that might                // break if/when we make other projection                // libraries/paradigms active.                LatLonPoint llpnt = projection.inverse(offsetX, offsetY);                poly.lat = llpnt.radlat_;                poly.lon = llpnt.radlon_;            }            poly.setLocation(poly.lat,                    poly.lon,                    OMGraphic.RADIANS,                    newxs,                    newys);        }        // Need to reset the arrowhead when an end point is added,        // removing it from the shape when the point gets added.        // Otherwise, you end up with a arrowhead at each junction of        // the polygon.        OMArrowHead omah = poly.getArrowHead();        poly.setArrowHead(null);        // This is the standard call that needs to be made here, the        // arrowhead changes are around this.        poly.regenerate(projection);        // Reset the arrowhead so it will get drawn on the new        // segment.        poly.setArrowHead(omah);        polyGrabPoints.add(position, gp);        if (gpo != null) {            gpo.addGrabPoint(gp);        }        return position;    }    /**     * Delete a point off the end of the polyline/polygon.     */    public void deletePoint() {        deletePoint(Integer.MAX_VALUE);    }    /**     * Delete a point at a certain point in the polygon coordinate     * list. If the position is less than zero, the deleted point will     * be the starting point. If the position is greater than the list     * of current points, the point will be deleted from the end of     * the poly.     */    public void deletePoint(int position) {        int renderType = poly.getRenderType();        boolean needToHookUp = false;        if (position <= 0 && isEnclosed()) {            // if the position is 0 and the polygon is enclosed, we            // need to disengage the two points, then reattach.            enclose(false);            needToHookUp = true;        }        if (renderType == OMGraphic.RENDERTYPE_LATLON) {            Debug.message("eomg",                    "EditableOMPoly: adding point to lat/lon poly");            if (projection != null) {                float[] ll = poly.getLatLonArray();                float[] newll = new float[ll.length - 2];                int actualPosition = (position == Integer.MAX_VALUE ? ll.length                        : position * 2);                if (actualPosition >= ll.length) {                    // Pull the new points off the end                    System.arraycopy(ll, 0, newll, 0, ll.length - 2);                    position = (ll.length - 2) / 2;                } else if (actualPosition <= 0) {                    // Pull the new points off the beginning                    System.arraycopy(ll, 2, newll, 0, ll.length - 2);                    position = 0;                } else {                    // actualPosition because there are 2 floats for                    // every                    // position.                    System.arraycopy(ll, 0, newll, 0, actualPosition);                    System.arraycopy(ll,                            actualPosition + 2,                            newll,                            actualPosition,                            ll.length - actualPosition - 2);                }                poly.setLocation((float[]) newll, OMGraphic.RADIANS);            }        } else {            // Grab the projected endpoints            Debug.message("eomg",                    "EditableOMPoly: adding point to x/y or offset poly");            int currentLength = poly.xs.length;            int[] newxs = new int[currentLength - 1];            int[] newys = new int[currentLength - 1];            if (position >= currentLength) {                // Pull the points from the end...                System.arraycopy(poly.xs, 0, newxs, 0, currentLength - 1);                System.arraycopy(poly.ys, 0, newys, 0, currentLength - 1);                position = currentLength - 1;            } else if (position <= 0) {                // Pull the points from the beginning...                System.arraycopy(poly.xs, 1, newxs, 0, currentLength - 1);                System.arraycopy(poly.ys, 1, newys, 0, currentLength - 1);                position = 0;            } else {                System.arraycopy(poly.xs, 0, newxs, 0, position);                System.arraycopy(poly.xs,                        position + 1,                        newxs,                        position,                        currentLength - position - 1);                System.arraycopy(poly.ys, 0, newys, 0, position);                System.arraycopy(poly.ys,                        position + 1,                        newys,                        position,                        currentLength - position - 1);            }            if (poly.getRenderType() == OMGraphic.RENDERTYPE_OFFSET) {                poly.setLocation(poly.lat,                        poly.lon,                        OMGraphic.RADIANS,                        newxs,                        newys);            } else {                poly.setLocation(newxs, newys);            }        }        if (projection != null) {            poly.regenerate(projection);        }        // Remove the GrabPoint for the deleted spot.        GrabPoint gp = (GrabPoint) polyGrabPoints.remove(position);        if (gpo != null && gp != null) {            gpo.removeGrabPoint(gp);        }        if (needToHookUp) {            enclose(true);        }    }    /**     * Called to set the OffsetGrabPoint to the current mouse     * location, and update the OffsetGrabPoint with all the other     * GrabPoint locations, so everything can shift smoothly. Should     * also set the OffsetGrabPoint to the movingPoint. Should be     * called only once at the beginning of the general movement, in     * order to set the movingPoint. After that, redraw(e) should just     * be called, and the movingPoint will make the adjustments to the     * graphic that are needed.     */    public void move(MouseEvent e) {        // Need to check to see if the OffsetGrabPoint is currently        // being used. If not, just use it, otherwise, will need to        // create a special one for the move.        if (poly.getRenderType() == OMGraphic.RENDERTYPE_OFFSET) {            gpm = new OffsetGrabPoint(e.getX(), e.getY());            gpm.clear();        } else {            gpm = gpo;            gpm.clear();            gpm.set(e.getX(), e.getY());        }        // Move all the other points along with the offset point...        addPolyGrabPointsToOGP(gpm);        movingPoint = gpm;    }    /**     * This method adds all the GrabPoints associated with the polygon     * nodes and adds them to the offset GrabPoint representing the     * lat/lon anchor point.     */    protected void addPolyGrabPointsToOGP(OffsetGrabPoint ogp) {        if (ogp == null)            return;        // Reset the points to the offset point.        int count = 0;        Iterator gps = polyGrabPoints.iterator();        while (gps.hasNext()) {            GrabPoint gb = (GrabPoint) gps.next();            ogp.addGrabPoint(gb);            count++;        }        ogp.updateOffsets();    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲美女视频在线| 成人综合婷婷国产精品久久免费| 91色.com| 一区二区三区欧美日韩| 欧美在线免费播放| 麻豆精品一区二区三区| 久久人人爽爽爽人久久久| 高清av一区二区| 一区二区在线看| 欧美肥妇bbw| 国产在线不卡视频| 亚洲人成精品久久久久| 欧美三级一区二区| 韩国三级在线一区| 亚洲婷婷综合久久一本伊一区| 91蜜桃在线免费视频| 日一区二区三区| 国产日韩欧美亚洲| 色综合色狠狠天天综合色| 婷婷综合另类小说色区| 精品sm捆绑视频| 99国产精品一区| 免费在线视频一区| 亚洲欧洲日韩在线| 制服丝袜国产精品| 成人免费观看男女羞羞视频| 亚洲中国最大av网站| 精品少妇一区二区| 91网站最新地址| 麻豆精品视频在线观看视频| 中文文精品字幕一区二区| 欧美中文字幕一区二区三区亚洲| 美女视频黄 久久| 一区视频在线播放| 日韩精品一区二区三区老鸭窝| 成人av免费观看| 美女视频一区二区三区| 亚洲欧美日韩一区二区| 91精品视频网| 91激情在线视频| 国产精品99久久久| 日韩高清不卡一区二区| 亚洲三级小视频| 337p粉嫩大胆噜噜噜噜噜91av| 日本高清不卡在线观看| 国产一区二区在线免费观看| 亚洲成在人线在线播放| 六月丁香综合在线视频| 在线观看日韩一区| 成人性生交大片免费看中文网站| 首页国产欧美久久| 亚洲美女免费在线| 国产日韩欧美a| 日韩欧美色综合| 欧美日韩视频专区在线播放| www.综合网.com| 国产在线精品一区二区夜色| 亚洲国产日日夜夜| 日韩美女啊v在线免费观看| 国产午夜亚洲精品不卡| 欧美大白屁股肥臀xxxxxx| 欧美性受xxxx| 色视频一区二区| 99re热视频精品| 成人激情黄色小说| 国产99久久久国产精品潘金| 韩国成人在线视频| 蜜臀av性久久久久av蜜臀妖精| 亚洲一区二区av电影| 亚洲精品乱码久久久久久| 欧美国产欧美亚州国产日韩mv天天看完整| 日韩一区二区三| 欧美一级国产精品| 欧美一区二区成人6969| 3atv一区二区三区| 欧美一区日本一区韩国一区| 欧美日韩综合一区| 欧美欧美午夜aⅴ在线观看| 欧美欧美午夜aⅴ在线观看| 欧美日韩五月天| 欧美肥妇free| 欧美videossexotv100| 欧美成人官网二区| 精品久久国产字幕高潮| 久久综合狠狠综合久久综合88| 精品国产一二三区| 久久亚洲一级片| 中文字幕电影一区| 一区二区三区美女视频| 亚洲午夜视频在线观看| 午夜国产精品一区| 美女一区二区久久| 国产iv一区二区三区| 99久久精品免费看国产免费软件| 91亚洲永久精品| 在线播放视频一区| 精品国内二区三区| 最新久久zyz资源站| 亚洲网友自拍偷拍| 日韩精彩视频在线观看| 国内精品不卡在线| 色婷婷久久久综合中文字幕| 欧美日韩国产bt| 亚洲精品一区二区在线观看| 国产农村妇女毛片精品久久麻豆| 亚洲免费色视频| 青青草国产成人av片免费| 国产精品一级片在线观看| 一本色道久久综合亚洲aⅴ蜜桃| 欧美日韩一区三区| 久久网站热最新地址| 亚洲男同性视频| 另类小说欧美激情| heyzo一本久久综合| 欧美日韩中文另类| 日本一区二区三区在线不卡| 亚洲色图欧洲色图婷婷| 人人狠狠综合久久亚洲| 成人av先锋影音| 日韩精品最新网址| 夜夜操天天操亚洲| 国产一区二区三区综合| 欧洲人成人精品| 久久精品视频免费观看| 亚洲高清免费视频| www.av亚洲| 精品美女一区二区| 亚洲第四色夜色| av一二三不卡影片| 日韩美女视频一区二区在线观看| 亚洲伦理在线免费看| 激情小说欧美图片| 在线播放中文一区| 亚洲精品国久久99热| 国产一区二区主播在线| 91精品国产综合久久香蕉的特点| 国产精品的网站| 九九九久久久精品| 欧美三级三级三级爽爽爽| 中文字幕在线免费不卡| 精品一二线国产| 欧美二区三区91| 一区二区成人在线| 不卡一区中文字幕| 国产片一区二区| 精品一区二区三区久久| 欧美日韩成人综合在线一区二区| 亚洲三级理论片| 成人精品国产一区二区4080| 日韩美一区二区三区| 七七婷婷婷婷精品国产| 欧美无砖砖区免费| 亚洲一卡二卡三卡四卡| 99综合电影在线视频| 欧美激情一区二区三区| 韩国成人精品a∨在线观看| 日韩免费看的电影| 久久精品国内一区二区三区| 在线不卡中文字幕播放| 五月综合激情婷婷六月色窝| 欧美亚洲一区三区| 亚洲国产精品久久久久秋霞影院 | 国产午夜一区二区三区| 秋霞影院一区二区| 欧美一区二区免费| 日产精品久久久久久久性色 | 91精品免费在线观看| 视频一区欧美日韩| 欧美一卡二卡三卡四卡| 天涯成人国产亚洲精品一区av| 欧美日韩在线播放一区| 视频一区欧美精品| 欧美电影免费观看高清完整版在线 | 国产一区二区三区视频在线播放| 日韩欧美亚洲国产另类| 精品系列免费在线观看| 久久蜜桃一区二区| 成年人午夜久久久| 亚洲综合男人的天堂| 欧美色欧美亚洲另类二区| 日韩精品一二区| 欧美精品一区二区三区久久久| 国产一区二区三区在线观看精品| 国产精品女同互慰在线看| 一本一道久久a久久精品 | 石原莉奈在线亚洲二区| 91精品国产欧美一区二区18| 美女在线一区二区| 亚洲国产高清不卡| 在线免费观看视频一区| 日韩综合小视频| 久久人人超碰精品| 色素色在线综合| 久久se这里有精品| 亚洲国产高清不卡| 欧美久久一区二区| 国产在线国偷精品免费看| 一区视频在线播放| 91精品午夜视频| 国产精品一区在线观看乱码 |