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

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

?? ompoint.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
字號:
// **********************************************************************// // <copyright>// //  BBN Technologies//  10 Moulton Street//  Cambridge, MA 02138//  (617) 873-8000// //  Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/omGraphics/OMPoint.java,v $// $RCSfile: OMPoint.java,v $// $Revision: 1.7.2.2 $// $Date: 2005/01/10 16:59:44 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.omGraphics;import java.awt.Point;import java.awt.geom.Ellipse2D;import java.awt.geom.GeneralPath;import java.io.Serializable;import com.bbn.openmap.proj.Projection;import com.bbn.openmap.util.Debug;/** * A OMPoint is used to mark a specific point. You can set this point * as a lat/lon position, a screen X/Y position, or a lat/lon position * with a screen X/Y offset. The position can be marked with a * rectangle or circle with an adjusted radius. The radius is the * pixel distance from the center of the location to each edge of the * marking rectangle or circle. */public class OMPoint extends OMGraphic implements Serializable {    public final static int DEFAULT_RADIUS = 2;    public final static boolean DEFAULT_ISOVAL = false;    /**     * The number of pixels in the radius for the point     * representation.     */    protected int radius = DEFAULT_RADIUS;    /**     * Horizontal window position of point, in pixels from left side     * of window.     */    protected int x = 0;    /**     * Vertical window position of point, in pixels from the top of     * the window.     */    protected int y = 0;    /** Latitude of point, decimal degrees. */    protected float lat1 = 0.0f;    /** Longitude of point, decimal degrees. */    protected float lon1 = 0.0f;    /** Set to true if you want little circles marking the point. */    protected boolean oval = DEFAULT_ISOVAL;    /** Default constructor, waiting to be filled. */    public OMPoint() {        super();    }    /**     * Create an OMPoint at a lat/lon position, with the default     * radius.     */    public OMPoint(float lat, float lon) {        this(lat, lon, DEFAULT_RADIUS);    }    /**     * Create an OMPoint at a lat/lon position, with the specified     * radius.     */    public OMPoint(float lat, float lon, int radius) {        setRenderType(RENDERTYPE_LATLON);        set(lat, lon);        this.radius = radius;    }    /**     * Create an OMPoint at a lat/lon position with a screen X/Y pixel     * offset, with the default radius.     */    public OMPoint(float lat, float lon, int offsetx, int offsety) {        this(lat, lon, offsetx, offsety, DEFAULT_RADIUS);    }    /**     * Create an OMPoint at a lat/lon position with a screen X/Y pixel     * offset, with the specified radius.     */    public OMPoint(float lat, float lon, int offsetx, int offsety, int radius) {        setRenderType(RENDERTYPE_OFFSET);        set(lat, lon, offsetx, offsety);        this.radius = radius;    }    /**     * Put the point at a screen location, marked with a rectangle     * with edge size DEFAULT_RADIUS * 2 + 1.     */    public OMPoint(int x, int y) {        this(x, y, DEFAULT_RADIUS);    }    /**     * Put the point at a screen location, marked with a rectangle     * with edge size radius * 2 + 1.     */    public OMPoint(int x, int y, int radius) {        setRenderType(RENDERTYPE_XY);        set(x, y);        this.radius = radius;    }    /** For lat/lon rendertype points, to move the point location. */    public void set(float lat, float lon) {        setLat(lat);        setLon(lon);    }    /** For offset rendertype points, to move the point location. */    public void set(float lat, float lon, int offsetx, int offsety) {        setLat(lat);        setLon(lon);        ;        set(offsetx, offsety);    }    /**     * For screen x/y rendertype points, to move the point location.     * This method does not call setX() and setY().     */    public void set(int x, int y) {        // You have to set these directly, or you can mess up the grab        // points by using set methods - VerticalGrabPoints and        // HorizontalGrabPoints disable some methods. This method is        // used to override them, for initialization purposes.        this.x = x;        this.y = y;        setNeedToRegenerate(true);    }    /** Set the latitude of the point, in decimal degrees. */    public void setLat(float lat) {        this.lat1 = lat;        setNeedToRegenerate(true);    }    /** Get the latitude of the point, in decimal degrees. */    public float getLat() {        return lat1;    }    /** Set the longitude of the point, in decimal degrees. */    public void setLon(float lon) {        this.lon1 = lon;        setNeedToRegenerate(true);    }    /** Get the longitude of the point, in decimal degrees. */    public float getLon() {        return lon1;    }    /** For screen x/y rendertype points. */    public void setX(int x) {        this.x = x;        setNeedToRegenerate(true);    }    /** For screen x/y rendertype points. */    public int getX() {        return x;    }    /** For screen x/y rendertype points. */    public void setY(int y) {        this.y = y;        setNeedToRegenerate(true);    }    /** For screen x/y rendertype points. */    public int getY() {        return y;    }    /**     * Set the radius of the marking rectangle. The edge size of the     * marking rectangle will be radius * 2 + 1.     */    public void setRadius(int radius) {        this.radius = radius;        setNeedToRegenerate(true);    }    /**     * Get the radius for the point.     */    public int getRadius() {        return radius;    }    /**     * Set whether little circles should be marking the point.     *      * @param set true for circles.     */    public void setOval(boolean set) {        if (oval != set) {            setNeedToRegenerate(true);            oval = set;        }    }    /**     * Get whether little circles should be marking the point.     */    public boolean isOval() {        return oval;    }    /**     * Prepare the rectangle for rendering.     *      * @param proj Projection     * @return true if generate was successful     */    public boolean generate(Projection proj) {        setShape(null);        if (proj == null) {            Debug.message("omgraphic", "OMPoint: null projection in generate!");            return false;        }                // reset the internals        int x1 = 0;        int x2 = 0;        int y1 = 0;        int y2 = 0;        switch (renderType) {        case RENDERTYPE_XY:            x1 = x - radius;            y1 = y - radius;            x2 = x + radius;            y2 = y + radius;                        break;        case RENDERTYPE_OFFSET:        case RENDERTYPE_LATLON:            if (!proj.isPlotable(lat1, lon1)) {                setNeedToRegenerate(true);//HMMM not the best flag                return false;            }            Point p1 = proj.forward(lat1, lon1);            x1 = p1.x + x - radius;            y1 = p1.y + y - radius;            x2 = p1.x + x + radius;            y2 = p1.y + y + radius;            break;        case RENDERTYPE_UNKNOWN:            System.err.println("OMPoint.generate(): invalid RenderType");            return false;        }        if (oval) {            shape = new GeneralPath(new Ellipse2D.Float((float) Math.min(x2, x1), (float) Math.min(y2,                    y1), (float) Math.abs(x2 - x1), (float) Math.abs(y2 - y1)));        } else {            shape = createBoxShape((int) Math.min(x2, x1), (int) Math.min(y2,                    y1), (int) Math.abs(x2 - x1), (int) Math.abs(y2 - y1));        }        initLabelingDuringGenerate();        setLabelLocation(new Point(x2, y1));                setNeedToRegenerate(false);        return true;    }    protected boolean hasLineTypeChoice() {        return false;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合色综合色综合色综合色综合| 亚洲电影在线播放| 欧美日韩一区不卡| 日韩电影免费在线看| 国产精品福利影院| 国产欧美一区二区在线| 国产精品全国免费观看高清| 久久久久97国产精华液好用吗| 成人综合在线观看| 国产精品一区二区久激情瑜伽 | 精品在线播放免费| 95精品视频在线| 久久伊人蜜桃av一区二区| 亚洲国产精品久久不卡毛片| 成人精品国产免费网站| 精品国产乱码久久久久久图片 | 椎名由奈av一区二区三区| 韩国女主播一区| 欧美一区二区视频在线观看 | 一区二区三区在线免费播放| 国产成人精品一区二| 精品av久久707| 日本不卡一区二区三区| 色综合久久久久| 中文字幕在线不卡国产视频| 国产一区二区三区在线观看免费 | 亚洲国产精品av| 国产激情偷乱视频一区二区三区| 欧美一级高清片| 男男视频亚洲欧美| 日韩精品一区二区三区老鸭窝| 日韩精品乱码免费| 日韩色在线观看| 精品一区二区免费在线观看| 亚洲色图欧洲色图婷婷| 99久久久久久| 一区二区三区美女| 在线观看91av| 久久99精品视频| 久久久精品一品道一区| 高清不卡一区二区在线| 亚洲视频免费在线| 91国在线观看| 日韩精彩视频在线观看| 欧美一级理论片| 国产在线播精品第三| 中文字幕乱码日本亚洲一区二区| aaa国产一区| 亚洲高清三级视频| 日韩精品在线一区二区| 国产999精品久久久久久| 亚洲欧美激情一区二区| 欧美日本一区二区三区四区| 麻豆国产精品官网| 国产精品女主播av| 欧美日韩一区视频| 精品一区二区三区久久久| 久久精品人人做人人综合| 91在线看国产| 免费成人在线播放| 国产精品久久午夜夜伦鲁鲁| 欧美精品在线观看一区二区| 精品一区二区三区在线视频| 国产精品少妇自拍| 欧美精品粉嫩高潮一区二区| 国产福利精品导航| 亚洲国产va精品久久久不卡综合| 精品入口麻豆88视频| 不卡av电影在线播放| 天天影视涩香欲综合网| 久久精品夜色噜噜亚洲a∨| 日本久久一区二区| 国产一区在线观看麻豆| 一区二区三区鲁丝不卡| 久久久久久久久久久电影| 欧美三级一区二区| 成人亚洲精品久久久久软件| 三级久久三级久久久| 国产欧美日韩综合| 欧美精品 日韩| 91色乱码一区二区三区| 国产麻豆精品theporn| 亚洲自拍偷拍av| 国产精品丝袜久久久久久app| 91精品国产欧美一区二区成人| 成人免费的视频| 麻豆91在线播放免费| 一级做a爱片久久| 亚洲国产经典视频| 日韩三级伦理片妻子的秘密按摩| 色哟哟国产精品免费观看| 国产成人亚洲精品青草天美| 日本人妖一区二区| 亚洲午夜av在线| 日韩一区在线免费观看| 国产日产欧产精品推荐色| 日韩精品中文字幕一区二区三区 | 欧美国产激情二区三区| 日韩你懂的在线观看| 在线免费不卡视频| 色婷婷av一区| 91小视频在线| caoporen国产精品视频| 风间由美一区二区三区在线观看| 久久黄色级2电影| 日韩成人精品视频| 青青青爽久久午夜综合久久午夜| 亚洲成人一区二区| 午夜一区二区三区在线观看| 一区二区三区日本| 亚洲高清视频的网址| 亚洲国产精品久久不卡毛片| 亚洲影院在线观看| 亚洲成av人片观看| 天天做天天摸天天爽国产一区| 午夜精品久久久久久久| 午夜激情综合网| 免费美女久久99| 久久国内精品自在自线400部| 开心九九激情九九欧美日韩精美视频电影 | 这里只有精品免费| 日韩美女主播在线视频一区二区三区 | 一本到一区二区三区| 色婷婷综合激情| 欧美色倩网站大全免费| 欧美日韩国产片| 日韩精品专区在线影院观看| 欧美精品一区二区蜜臀亚洲| 国产女同性恋一区二区| 中文字幕不卡一区| 亚洲精品国产一区二区精华液| 伊人开心综合网| 日本欧美韩国一区三区| 国产精品综合一区二区三区| 成人高清视频在线观看| 欧美亚洲一区二区在线| 日韩视频在线观看一区二区| 国产婷婷色一区二区三区| 亚洲视频资源在线| 午夜视频在线观看一区二区三区| 日韩电影一区二区三区| 国产成人精品影院| 欧美图区在线视频| 久久亚洲综合色一区二区三区 | 免费一区二区视频| 激情综合网最新| 不卡一区在线观看| 3d动漫精品啪啪| 国产日韩欧美制服另类| 亚洲综合一区在线| 国产曰批免费观看久久久| 色呦呦日韩精品| 久久麻豆一区二区| 一区二区三区日韩欧美精品| 久久精品国产一区二区三区免费看| 国产成a人亚洲| 91.com在线观看| 国产精品私人影院| 免费人成黄页网站在线一区二区| 国产精品一二三区在线| 欧美在线综合视频| 久久人人爽爽爽人久久久| 亚洲国产综合视频在线观看| 国产伦精品一区二区三区免费| 色综合 综合色| 久久精品这里都是精品| 日韩高清在线观看| 播五月开心婷婷综合| 精品国产电影一区二区| 亚洲综合免费观看高清完整版在线| 精品在线一区二区| 欧美日韩在线三级| 亚洲日本韩国一区| 国产成人福利片| 精品日韩欧美在线| 亚洲国产精品久久不卡毛片| 不卡高清视频专区| 久久精品一区二区| 精品亚洲免费视频| 欧美日韩久久久久久| 亚洲精品乱码久久久久久| 岛国av在线一区| 国产欧美一区二区精品性| 免费美女久久99| 69堂国产成人免费视频| 亚洲主播在线播放| 在线视频观看一区| 亚洲欧美日韩国产综合| youjizz久久| 亚洲国产精品成人综合| 国产成+人+日韩+欧美+亚洲| 精品国产露脸精彩对白| 经典三级一区二区| 精品美女在线播放| 久久99国产精品久久99果冻传媒| 91精品国产综合久久福利| 日本人妖一区二区| 91精品婷婷国产综合久久性色| 五月婷婷激情综合| 91精品国产综合久久香蕉麻豆 |