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

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

?? graticulelayer.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
        return lines;    }    /** Create the ten degree lines. */    protected OMGraphicList constructTenDegreeLines() {        OMGraphicList lines = new OMGraphicList(3);        OMPoly currentLine;        // generate other parallels of latitude by creating series        // of polylines        for (int i = 1; i <= 8; i++) {            for (int j = -1; j < 2; j += 2) {                float lat = (float) (10 * i * j);                // generate parallel of latitude North/South of the                // equator                float[] llp = { lat, -180f, lat, -90f, lat, 0f, lat, 90f, lat,                        180f };                currentLine = new OMPoly(llp, OMGraphic.DECIMAL_DEGREES, boxy ? OMGraphic.LINETYPE_STRAIGHT                        : OMGraphic.LINETYPE_RHUMB);                currentLine.setLinePaint(tenDegreeColor);                lines.addOMGraphic(currentLine);            }        }        // generate lines of longitude        for (int i = 1; i < 18; i++) {            for (int j = -1; j < 2; j += 2) {                float lon = (float) (10 * i * j);                //not quite 90.0 for beautification reasons.                float[] llp = { 80f, lon, 0f, lon, -80f, lon };                if (MoreMath.approximately_equal(Math.abs(lon), 90f, 0.001f)) {                    llp[0] = 90f;                    llp[4] = -90f;                }                currentLine = new OMPoly(llp, OMGraphic.DECIMAL_DEGREES, boxy ? OMGraphic.LINETYPE_STRAIGHT                        : OMGraphic.LINETYPE_GREATCIRCLE);                currentLine.setLinePaint(tenDegreeColor);                lines.addOMGraphic(currentLine);            }        }        if (Debug.debugging("graticule")) {            Debug.output("GraticuleLayer.constructTenDegreeLines(): "                    + "constructed " + lines.size() + " graticule lines");        }        lines.generate(getProjection());        return lines;    }    /**     * Constructs the labels for the tens lines. Called from within     * the constructGraticuleLines if the showRuler variable is true.     * Usually called only if the ones and fives lines are not being     * drawn.     *      * @param up northern latitude corrdinate, in decimal degrees,     * @param down southern latitude coordinate, in decimal degrees.     * @param left western longitude coordinate, in decimal degrees,     * @param right eastern longitude coordinate, in decimal degrees.     * @param doLats do the latitude labels if true.     * @return OMGraphicList of labels.     */    protected OMGraphicList constructTensLabels(float up, float down,                                                float left, float right,                                                boolean doLats) {        OMGraphicList labels = new OMGraphicList();        // Set the line limits for the lat/lon lines...        int north = (int) Math.ceil(up);        if (north > 80)            north = 80;        int south = (int) Math.floor(down);        south -= (south % 10); // Push down to the lowest 10 degree        // line.        // for neg numbers, Mod raised it, lower it again        if ((south < 0 && south > -70) || south == 0) {            south -= 10;        }        int west = (int) Math.floor(left);        west -= (west % 10);        // for neg numbers, Mod raised it, lower it again        if ((west < 0 && west > -170) || west == 0) {            west -= 10;        }        int east = (int) Math.ceil(right);        if (east > 180)            east = 180;        int stepSize = 10;        OMText currentText;        // For calculating text locations        java.awt.Point point;        LatLonPoint llpoint;        Projection projection = getProjection();        if (doLats) {            // generate other parallels of latitude be creating series            // of labels            for (int i = south; i < north; i += stepSize) {                float lat = (float) i;                if ((lat % 2) == 0) {                    if (boxy) {                        point = projection.forward(lat, west);                        point.x = 0;                        llpoint = projection.inverse(point);                    } else {                        llpoint = new LatLonPoint(lat, west);                        while (projection.forward(llpoint).x < 0) {                            llpoint.setLongitude(llpoint.getLongitude()                                    + stepSize);                        }                    }                    currentText = new OMText(llpoint.getLatitude(), llpoint.getLongitude(), (int) 2, (int) -2, // Move                            // them                            // up a                            // little                            Integer.toString((int) lat), font, OMText.JUSTIFY_LEFT);                    currentText.setLinePaint(textColor);                    labels.addOMGraphic(currentText);                }            }        }        // generate labels of longitude        for (int i = west; i < east; i += stepSize) {            float lon = (float) i;            if ((lon % 2) == 0) {                if (boxy) {                    point = projection.forward(south, lon);                    point.y = projection.getHeight();                    llpoint = projection.inverse(point);                } else {                    llpoint = new LatLonPoint(south, lon);                    while (projection.forward(llpoint).y > projection.getHeight()) {                        llpoint.setLatitude(llpoint.getLatitude() + stepSize);                    }                }                currentText = new OMText(llpoint.getLatitude(), llpoint.getLongitude(),                // Move them up a little                        (int) 2, (int) -5, Integer.toString((int) lon), font, OMText.JUSTIFY_CENTER);                currentText.setLinePaint(textColor);                labels.addOMGraphic(currentText);            }        }        if (Debug.debugging("graticule")) {            Debug.output("GraticuleLayer.constructTensLabels(): "                    + "constructed " + labels.size() + " graticule labels");        }        labels.generate(projection);        return labels;    }    /** Constructs the Dateline and Prime Meridian lines. */    protected OMGraphicList constructMarkerLines() {        OMGraphicList lines = new OMGraphicList(3);        OMPoly currentLine;        // generate Prime Meridian and Dateline        for (int j = 0; j < 360; j += 180) {            float lon = (float) j;            float[] llp = { 90f, lon, 0f, lon, -90f, lon };            currentLine = new OMPoly(llp, OMGraphic.DECIMAL_DEGREES, boxy ? OMGraphic.LINETYPE_STRAIGHT                    : OMGraphic.LINETYPE_GREATCIRCLE);            currentLine.setLinePaint(dateLineColor);            lines.addOMGraphic(currentLine);        }        // equator        float[] llp = { 0f, -180f, 0f, -90f, 0f, 0f, 0f, 90f, 0f, 180f };        // polyline        currentLine = new OMPoly(llp, OMGraphic.DECIMAL_DEGREES, boxy ? OMGraphic.LINETYPE_STRAIGHT                : OMGraphic.LINETYPE_GREATCIRCLE);        currentLine.setLinePaint(equatorColor);        lines.addOMGraphic(currentLine);        if (Debug.debugging("graticule")) {            Debug.output("GraticuleLayer.constructMarkerLines(): "                    + "constructed " + lines.size() + " graticule lines");        }        lines.generate(getProjection());        return lines;    }    /**     * Take a graphic list, and set all the items on the list to the     * line type specified, and project them into the current     * projection.     *      * @param list the list containing the lines to change.     * @param lineType the line type to cahnge the lines to.     */    protected void setLineTypeAndProject(OMGraphicList list, int lineType) {        int size = list.size();        OMGraphic graphic;        for (int i = 0; i < size; i++) {            graphic = list.getOMGraphicAt(i);            graphic.setLineType(lineType);            graphic.generate(getProjection());        }    }    //----------------------------------------------------------------------    // GUI    //----------------------------------------------------------------------    /** The user interface palette for the DTED layer. */    protected Box palette = null;    /** Creates the interface palette. */    public java.awt.Component getGUI() {        if (palette == null) {            if (Debug.debugging("graticule"))                Debug.output("GraticuleLayer: creating Graticule Palette.");            palette = Box.createVerticalBox();            JPanel layerPanel = PaletteHelper.createPaletteJPanel(i18n.get(GraticuleLayer.class,                    "layerPanel",                    "Graticule Layer Options"));            ActionListener al = new ActionListener() {                public void actionPerformed(ActionEvent e) {                    String ac = e.getActionCommand();                    if (ac.equalsIgnoreCase(ShowRulerProperty)) {                        JCheckBox jcb = (JCheckBox) e.getSource();                        showRuler = jcb.isSelected();                    } else if (ac.equalsIgnoreCase(ShowOneAndFiveProperty)) {                        JCheckBox jcb = (JCheckBox) e.getSource();                        showOneAndFiveLines = jcb.isSelected();                    } else {                        Debug.error("Unknown action command \"" + ac                                + "\" in GraticuleLayer.actionPerformed().");                    }                }            };            showRulerButton = new JCheckBox(i18n.get(GraticuleLayer.class,                    "showRulerButton",                    "Show Lat/Lon Labels"), showRuler);            showRulerButton.addActionListener(al);            showRulerButton.setActionCommand(ShowRulerProperty);            show15Button = new JCheckBox(i18n.get(GraticuleLayer.class,                    "show15Button",                    "Show 1, 5 Degree Lines"), showOneAndFiveLines);            show15Button.addActionListener(al);            show15Button.setActionCommand(ShowOneAndFiveProperty);//            showBelow1Button = new JCheckBox(i18n.get(GraticuleLayer.class,//                    "showSub1Button",//                    "Show Sub-1 Degree Lines"), showBelowOneLines);//            showBelow1Button.addActionListener(al);//            showBelow1Button.setActionCommand(ShowBelowOneProperty);            layerPanel.add(showRulerButton);            layerPanel.add(show15Button);//            layerPanel.add(showBelow1Button);            palette.add(layerPanel);            JPanel subbox3 = new JPanel(new GridLayout(0, 1));            JButton setProperties = new JButton(i18n.get(GraticuleLayer.class,                    "setProperties",                    "Preferences"));            setProperties.setActionCommand(DisplayPropertiesCmd);            setProperties.addActionListener(this);            subbox3.add(setProperties);            JButton redraw = new JButton(i18n.get(GraticuleLayer.class,                    "redraw",                    "Redraw Graticule Layer"));            redraw.setActionCommand(RedrawCmd);            redraw.addActionListener(this);            subbox3.add(redraw);            palette.add(subbox3);        }        return palette;    }    //----------------------------------------------------------------------    // ActionListener interface implementation    //----------------------------------------------------------------------    /**     * Used just for the redraw button.     */    public void actionPerformed(ActionEvent e) {        super.actionPerformed(e);        String command = e.getActionCommand();        if (command == RedrawCmd) {            //redrawbutton            if (isVisible()) {                doPrepare();            }        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线观看美女| 欧美高清在线视频| 午夜精品视频在线观看| 99精品欧美一区二区三区小说| 久久免费的精品国产v∧| 国产一区二区不卡| 欧美国产日韩在线观看| 成人美女视频在线观看| 亚洲欧洲av在线| 色婷婷久久久久swag精品| 最新日韩在线视频| 在线观看成人免费视频| 五月婷婷综合网| 日韩欧美国产不卡| 国产盗摄精品一区二区三区在线| 国产欧美日韩另类视频免费观看| 99久久精品国产麻豆演员表| 一区二区三区中文字幕电影| 欧美三级三级三级爽爽爽| 日本不卡免费在线视频| 久久久精品日韩欧美| 99麻豆久久久国产精品免费| 亚洲一区二区三区视频在线播放| 日韩一区和二区| 国产成人鲁色资源国产91色综| 国产精品第四页| 欧美丰满美乳xxx高潮www| 狠狠色狠狠色综合系列| 亚洲欧美日韩一区二区| 日韩三级在线免费观看| 国产suv一区二区三区88区| 一区二区在线免费观看| 日韩一级片在线观看| 99视频精品在线| 伦理电影国产精品| 亚洲日本va午夜在线影院| 欧美一区在线视频| 国产丶欧美丶日本不卡视频| 夜夜嗨av一区二区三区| 久久精品视频一区二区三区| 欧美性色黄大片| 国产成a人亚洲| 日韩国产高清影视| 综合色中文字幕| 26uuu国产日韩综合| 欧美在线不卡视频| 粉嫩av一区二区三区粉嫩| 视频在线观看91| 亚洲色图.com| 欧美激情综合在线| 日韩亚洲欧美综合| 欧美在线观看视频在线| 成人av在线资源网| 国内外精品视频| 亚洲第一成人在线| 亚洲精品国产一区二区精华液| 久久只精品国产| 69p69国产精品| 欧洲另类一二三四区| 成人黄色小视频| 国产精品原创巨作av| 日韩精彩视频在线观看| 国产精品灌醉下药二区| 久久综合九色综合97婷婷女人| 666欧美在线视频| 欧美性淫爽ww久久久久无| 91视频国产观看| www..com久久爱| 大尺度一区二区| 国产成人亚洲综合色影视| 黄色日韩三级电影| 国内久久精品视频| 国产剧情一区在线| 国产在线精品一区二区不卡了 | 久久精品欧美日韩| 欧美第一区第二区| 精品欧美乱码久久久久久1区2区| 日韩一区二区免费高清| 91精品国产综合久久婷婷香蕉| 欧美精品丝袜中出| 911国产精品| 91麻豆精品久久久久蜜臀| 欧美精品三级日韩久久| 欧美日韩一区二区欧美激情| 92精品国产成人观看免费| 国产精选一区二区三区| 国产不卡视频在线观看| 国产综合色视频| 久88久久88久久久| 久久国产精品一区二区| 日韩精品成人一区二区在线| 夜色激情一区二区| 亚洲一区在线观看网站| 亚洲精品免费看| 亚洲欧美国产三级| 一区二区三区av电影| 亚洲综合在线免费观看| 日本一区二区在线不卡| 国产精品传媒视频| 亚洲欧美日韩一区二区| 一区二区三区四区中文字幕| 一区二区三区高清不卡| 午夜精品福利在线| 日韩国产欧美一区二区三区| 亚洲a一区二区| 日本视频一区二区| 久久66热偷产精品| 日本特黄久久久高潮| 国产馆精品极品| 成人aa视频在线观看| a在线欧美一区| 色哟哟国产精品| 欧美日韩国产一级片| 欧美一区二区不卡视频| 久久久91精品国产一区二区精品| 久久精品免视看| 国产精品久久福利| 亚洲一区二区三区在线看| 亚洲国产成人精品视频| 日本美女视频一区二区| 国产一区二区0| 国产乱国产乱300精品| 成人高清av在线| 色哟哟一区二区三区| 欧美视频一区二区三区| 日韩视频免费观看高清完整版| www国产精品av| 国产欧美视频在线观看| 亚洲欧美色图小说| 男女性色大片免费观看一区二区 | 欧美丝袜丝nylons| 日韩美女天天操| 亚洲欧美怡红院| 日韩在线一二三区| 国产 日韩 欧美大片| 成人午夜av电影| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 成人午夜电影网站| 99r国产精品| 精东粉嫩av免费一区二区三区| 亚洲妇熟xx妇色黄| 国产在线日韩欧美| 91麻豆成人久久精品二区三区| a4yy欧美一区二区三区| 欧美一级日韩免费不卡| 综合在线观看色| 狠狠色丁香久久婷婷综合_中| 日本久久电影网| 91精品国产入口在线| 中文字幕亚洲综合久久菠萝蜜| 天天做天天摸天天爽国产一区| 国产高清在线精品| 欧美日韩一区 二区 三区 久久精品| 欧美日韩黄色影视| 国产精品国产成人国产三级| 蜜桃视频一区二区三区| 国产精品一级二级三级| 91成人在线观看喷潮| 国产日本一区二区| 六月丁香婷婷久久| 欧美日韩国产小视频在线观看| 国产精品福利影院| 亚洲一区二区在线免费观看视频| 国产成人精品一区二区三区网站观看| 欧美剧情片在线观看| 亚洲美女淫视频| 亚洲va韩国va欧美va精品| 不卡区在线中文字幕| 91在线视频观看| 久久午夜免费电影| 日本aⅴ免费视频一区二区三区| 一道本成人在线| 国产精品久久久久久久久免费丝袜 | 亚洲欧美日韩国产综合| 国内外成人在线视频| 欧美视频一二三区| 亚洲一线二线三线视频| 91视频免费播放| 国产精品理伦片| 国产精品资源站在线| 91麻豆视频网站| 一区在线播放视频| 成人av一区二区三区| 中文字幕av一区二区三区高| 国产一区在线观看麻豆| 久久先锋影音av| 国产精品青草综合久久久久99| av亚洲精华国产精华| 国产精品丝袜久久久久久app| 国产伦理精品不卡| 久久久久久久久免费| 国产乱码一区二区三区| 精品美女在线播放| 久久99蜜桃精品| 精品粉嫩超白一线天av| 蜜臀av在线播放一区二区三区| 日韩午夜在线观看| 亚洲国产一区视频| 6080午夜不卡| 蜜臀av一区二区在线免费观看 |