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

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

?? defaultoverviewmousemode.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/event/DefaultOverviewMouseMode.java,v $// $RCSfile: DefaultOverviewMouseMode.java,v $// $Revision: 1.2.2.1 $// $Date: 2004/10/14 18:26:45 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.event;import com.bbn.openmap.gui.OverviewMapHandler;import com.bbn.openmap.LatLonPoint;import com.bbn.openmap.MapBean;import com.bbn.openmap.proj.Proj;import com.bbn.openmap.proj.Projection;import com.bbn.openmap.util.Debug;import java.awt.event.*;import java.awt.Point;/** * A MouseMode that handles drawing a box, or clicking on a point, but * directs the updates to the ControlledMapSupport of the overview map * handler, instead of the overview MapBean, which would have been the * normal behavior. */public class DefaultOverviewMouseMode extends NavMouseMode2 {    OverviewMapHandler overviewMapHandler;    /**     * Construct a OverviewMouseMode. Sets the ID of the mode to the     * modeID, the consume mode to true, and the cursor to the     * crosshair.     */    public DefaultOverviewMouseMode(OverviewMapHandler omh) {        super(true);        overviewMapHandler = omh;    }    /**     * Handle a mouseReleased MouseListener event. If there was no     * drag events, or if there was only a small amount of dragging     * between the occurence of the mousePressed and this event, then     * recenter the source map. Otherwise we get the second corner of     * the navigation rectangle and try to figure out the best scale     * and location to zoom in to based on that rectangle.     *      * @param e MouseEvent to be handled     */    public void mouseReleased(MouseEvent e) {        if (Debug.debugging("mousemode")) {            System.out.println(getID()                    + "|DefaultOverviewMouseMode.mouseReleased()");        }        Object obj = e.getSource();        if (!mouseSupport.fireMapMouseReleased(e)) {            if (!(obj instanceof MapBean) || !autoZoom || point1 == null)                return;            MapBean map = (MapBean) obj;            Projection projection = map.getProjection();            synchronized (this) {                point2 = e.getPoint();                int dx = Math.abs(point2.x - point1.x);                int dy = Math.abs(point2.y - point1.y);                // Dont bother redrawing if the rectangle is too small                if ((dx < 5) || (dy < 5)) {                    // clean up the rectangle, since point2 has the                    // old value.                    paintRectangle(map, point1, point2);                    // If rectangle is too small in both x and y then                    // recenter the map                    if ((dx < 5) && (dy < 5)) {                        LatLonPoint llp = projection.inverse(e.getPoint());                        overviewMapHandler.getControlledMapListeners()                                .setCenter(llp);                    }                    return;                }                // Figure out the new scale                com.bbn.openmap.LatLonPoint ll1 = projection.inverse(point1);                com.bbn.openmap.LatLonPoint ll2 = projection.inverse(point2);                float deltaDegrees;                int deltaPix;                dx = Math.abs(point2.x - point1.x);                dy = Math.abs(point2.y - point1.y);                if (dx < dy) {                    float dlat = Math.abs(ll1.getLatitude() - ll2.getLatitude());                    deltaDegrees = dlat * 2;                    deltaPix = overviewMapHandler.getSourceMap()                            .getProjection()                            .getHeight();                } else {                    float dlon;                    float lat1, lon1, lon2;                    // point1 is to the right of point2. switch the                    // LatLonPoints so that ll1 is west (left) of ll2.                    if (point1.x > point2.x) {                        lat1 = ll1.getLatitude();                        lon1 = ll1.getLongitude();                        ll1.setLatLon(ll2);                        ll2.setLatLon(lat1, lon1);                    }                    lon1 = ll1.getLongitude();                    lon2 = ll2.getLongitude();                    // allow for crossing dateline                    if (lon1 > lon2) {                        dlon = (180 - lon1) + (180 + lon2);                    } else {                        dlon = lon2 - lon1;                    }                    deltaDegrees = dlon * 2;                    deltaPix = overviewMapHandler.getSourceMap()                            .getProjection()                            .getWidth();                }                float pixPerDegree = ((Proj) projection).getPlanetPixelCircumference() / 360;                float newScale = pixPerDegree / (deltaPix / deltaDegrees);                // Figure out the center of the rectangle                com.bbn.openmap.LatLonPoint center = projection.inverse(point1.x,                        point1.y);                // Set the parameters of the projection and then set                // the projection of the map. This way we save having                // the MapBean fire two ProjectionEvents.                overviewMapHandler.getControlledMapListeners()                        .setScale(newScale);                overviewMapHandler.getControlledMapListeners()                        .setCenter(center);            }            // reset the points            point1 = null;            point2 = null;        }    }    /**     * Given a MapBean, which provides the projection, and the     * starting point of a box (pt1), look at pt2 to see if it     * represents the ratio of the projection map size. If it doesn't,     * provide a point that does.     */    protected Point getRatioPoint(MapBean map, Point pt1, Point pt2) {        Projection proj = overviewMapHandler.getSourceMap().getProjection();        float mapRatio = (float) proj.getHeight() / (float) proj.getWidth();        float boxHeight = (float) (pt1.y - pt2.y);        float boxWidth = (float) (pt1.x - pt2.x);        float boxRatio = Math.abs(boxHeight / boxWidth);        int isNegative = -1;        if (boxRatio > mapRatio) {            // box is too tall, adjust boxHeight            if (boxHeight < 0)                isNegative = 1;            boxHeight = Math.abs(mapRatio * boxWidth);            pt2.y = pt1.y + (isNegative * (int) boxHeight);        } else if (boxRatio < mapRatio) {            // box is too wide, adjust boxWidth            if (boxWidth < 0)                isNegative = 1;            boxWidth = Math.abs(boxHeight / mapRatio);            pt2.x = pt1.x + (isNegative * (int) boxWidth);        }        return pt2;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99精品国产一区二区三区不卡| 国产超碰在线一区| 国产精品成人网| 久久精品一区二区三区不卡牛牛| 91麻豆精品国产91久久久久| 欧美一区二区视频在线观看2020 | 国产99精品国产| 国产精品一级在线| 国产成人午夜高潮毛片| 国产成人精品在线看| 成人性视频网站| 97久久精品人人澡人人爽| 成人免费视频视频| 色综合色狠狠综合色| 欧美日韩一区二区三区视频| 欧美丰满美乳xxx高潮www| 日韩欧美一区二区三区在线| 亚洲精品在线免费观看视频| 国产精品嫩草影院com| 日韩理论电影院| 日本欧洲一区二区| 久久99久久久久久久久久久| 国产成人av电影在线| 99久久婷婷国产综合精品电影| 欧洲生活片亚洲生活在线观看| 欧美人xxxx| 久久久不卡网国产精品二区 | 亚洲欧洲日韩综合一区二区| 亚洲美女偷拍久久| 久久精品噜噜噜成人88aⅴ| 丁香啪啪综合成人亚洲小说| 在线免费观看日韩欧美| 欧美一区二区日韩| 国产欧美综合在线| 一区二区三区av电影| 黄网站免费久久| 欧美亚洲动漫制服丝袜| 精品国产免费一区二区三区香蕉| 136国产福利精品导航| 日韩一区精品视频| 99久久99久久久精品齐齐| 欧美高清精品3d| 成人欧美一区二区三区1314| 久久精品国产免费看久久精品| 成人激情视频网站| 欧美一级黄色大片| 亚洲欧美日韩在线| 国产成人免费视频网站| 欧美日韩免费不卡视频一区二区三区| 久久精品一区二区三区不卡牛牛| 石原莉奈一区二区三区在线观看| 成人激情av网| 精品国内片67194| 日本欧美一区二区三区乱码| 欧日韩精品视频| 亚洲美女区一区| 成人性视频免费网站| 精品少妇一区二区三区日产乱码| 亚洲国产成人精品视频| 91免费国产视频网站| 亚洲国产精品成人综合| 国产精品一区免费在线观看| 日韩午夜在线观看| 热久久国产精品| 欧美另类一区二区三区| 亚洲最大成人综合| 91视频免费观看| 亚洲蜜臀av乱码久久精品蜜桃| av电影天堂一区二区在线| 国产清纯美女被跳蛋高潮一区二区久久w | 91精品国产综合久久久久久| 午夜日韩在线电影| 欧美日韩中文字幕一区| 午夜免费欧美电影| 欧美日韩大陆一区二区| 日韩国产高清影视| 欧美一区欧美二区| 蜜臀av一区二区在线观看 | 国内国产精品久久| 精品久久国产字幕高潮| 免费高清在线一区| 精品国产欧美一区二区| 狠狠色丁香久久婷婷综| 国产三级精品在线| 福利视频网站一区二区三区| 国产精品水嫩水嫩| 99久久精品国产一区二区三区 | 日韩欧美一区二区三区在线| 精品在线一区二区| 久久精品一区四区| 99久精品国产| 亚洲成av人片在线观看无码| 在线播放国产精品二区一二区四区| 午夜精品福利视频网站| 精品福利一二区| 懂色av一区二区三区蜜臀| 中文字幕亚洲在| 欧美色综合影院| 国产曰批免费观看久久久| 中文成人综合网| 欧美亚洲图片小说| 另类专区欧美蜜桃臀第一页| 欧美高清在线一区| 欧美午夜精品久久久| 国产一区三区三区| 国产精品久久久久影院| 欧美日韩电影在线| 国产精品一区在线观看乱码| 亚洲日韩欧美一区二区在线| 69精品人人人人| 成人av电影在线网| 亚洲最大成人网4388xx| 久久精品欧美一区二区三区麻豆| 在线观看日韩毛片| 国产美女在线观看一区| 一区二区三区四区乱视频| 欧美成人乱码一区二区三区| 91玉足脚交白嫩脚丫在线播放| 七七婷婷婷婷精品国产| 中文字幕一区二| 久久久久久免费毛片精品| 精品视频一区 二区 三区| 成人激情免费网站| 久久精品理论片| 天天色天天爱天天射综合| 成人欧美一区二区三区黑人麻豆| 欧美电影免费观看高清完整版在线观看| 91免费版在线看| 国产精品羞羞答答xxdd| 美腿丝袜亚洲色图| 一区二区久久久久| 亚洲国产激情av| 日韩精品专区在线| 7777精品伊人久久久大香线蕉超级流畅| 成人美女视频在线看| 国产福利一区二区三区视频| 久久精品国产色蜜蜜麻豆| 亚洲成a人v欧美综合天堂| 亚洲精品高清在线观看| 中文字幕日本不卡| 欧美激情综合五月色丁香小说| 亚洲精品一区二区三区香蕉 | 中文字幕av资源一区| 日韩免费观看高清完整版| 欧美精品三级在线观看| 欧美性大战久久久久久久| 色综合天天视频在线观看| 成人免费高清视频在线观看| 丰满亚洲少妇av| 国产激情精品久久久第一区二区 | 91蜜桃在线免费视频| 成人午夜av电影| 99精品久久99久久久久| 99热在这里有精品免费| 成人激情校园春色| 国产·精品毛片| 不卡欧美aaaaa| eeuss鲁片一区二区三区| 成人免费视频免费观看| eeuss国产一区二区三区| 99r国产精品| 欧美日韩在线综合| 欧美一级二级三级乱码| www欧美成人18+| 国产精品视频线看| 亚洲日本韩国一区| 一区二区三区美女视频| 日韩精品亚洲专区| 蜜臀av性久久久久蜜臀aⅴ| 麻豆成人在线观看| 国产精品99久久久久久久vr| eeuss影院一区二区三区| 欧美视频在线一区| 欧美v日韩v国产v| 国产精品久久久久永久免费观看 | 美女脱光内衣内裤视频久久网站| 精品一区二区三区日韩| 国产69精品久久久久777| 在线观看亚洲精品| 日韩欧美电影在线| 国产欧美一区二区精品久导航| 日韩毛片视频在线看| 日韩中文字幕亚洲一区二区va在线 | 欧美午夜免费电影| 日韩情涩欧美日韩视频| 国产精品日韩成人| 午夜久久久久久| 国产成人av一区二区三区在线| 欧美性受xxxx| 久久久久亚洲综合| 亚洲在线观看免费视频| 美女精品自拍一二三四| av在线播放一区二区三区| 欧美一级淫片007| 亚洲视频免费看| 国产综合成人久久大片91| 在线影视一区二区三区| 久久久久97国产精华液好用吗| 亚洲国产日韩一级| www..com久久爱|