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

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

?? fixedzoomlevels.js

?? 用來在地圖上做操作GIS,在地圖上做標記
?? JS
字號:
/* Copyright (c) 2006-2007 MetaCarta, Inc., published under the BSD license. * See http://svn.openlayers.org/trunk/openlayers/release-license.txt  * for the full text of the license. *//** * @requires OpenLayers/Layer.js *  * Class: OpenLayers.Layer.FixedZoomLevels *   Some Layers will already have established zoom levels (like google  *    or ve). Instead of trying to determine them and populate a resolutions[] *    Array with those values, we will hijack the resolution functionality *    here. *  *   When you subclass FixedZoomLevels:  *  *   The initResolutions() call gets nullified, meaning no resolutions[] array  *    is set up. Which would be a big problem getResolution() in Layer, since  *    it merely takes map.zoom and indexes into resolutions[]... but.... *  *   The getResolution() call is also overridden. Instead of using the  *    resolutions[] array, we simply calculate the current resolution based *    on the current extent and the current map size. But how will we be able *    to calculate the current extent without knowing the resolution...? *   *   The getExtent() function is also overridden. Instead of calculating extent *    based on the center point and the current resolution, we instead  *    calculate the extent by getting the lonlats at the top-left and  *    bottom-right by using the getLonLatFromViewPortPx() translation function, *    taken from the pixel locations (0,0) and the size of the map. But how  *    will we be able to do lonlat-px translation without resolution....? *  *   The getZoomForResolution() method is overridden. Instead of indexing into *    the resolutions[] array, we call OpenLayers.Layer.getExent(), passing in *    the desired resolution. With this extent, we then call getZoomForExtent()  *  *  *   Whenever you implement a layer using OpenLayers.Layer.FixedZoomLevels,  *    it is your responsibility to provide the following three functions: *  *   - getLonLatFromViewPortPx *   - getViewPortPxFromLonLat *   - getZoomForExtent *  *  ...those three functions should generally be provided by any reasonable  *  API that you might be working from. * */OpenLayers.Layer.FixedZoomLevels = OpenLayers.Class({        /********************************************************/  /*                                                      */  /*                 Baselayer Functions                  */  /*                                                      */  /*    The following functions must all be implemented   */  /*                  by all base layers                  */  /*                                                      */  /********************************************************/        /**     * Constructor: OpenLayers.Layer.FixedZoomLevels     * Create a new fixed zoom levels layer.     */    initialize: function() {        //this class is only just to add the following functions...         // nothing to actually do here... but it is probably a good        // idea to have layers that use these functions call this         // inititalize() anyways, in case at some point we decide we         // do want to put some functionality or state in here.     },        /**     * Method: initResolutions     * Populate the resolutions array     */    initResolutions: function() {        var props = new Array('minZoomLevel', 'maxZoomLevel', 'numZoomLevels');                  for(var i=0; i < props.length; i++) {            var property = props[i];            this[property] = (this.options[property] != null)                                       ? this.options[property]                                      : this.map[property];        }        if ( (this.minZoomLevel == null) ||             (this.minZoomLevel < this.MIN_ZOOM_LEVEL) ){            this.minZoomLevel = this.MIN_ZOOM_LEVEL;        }                var limitZoomLevels = this.MAX_ZOOM_LEVEL - this.minZoomLevel + 1;        if (this.numZoomLevels != null) {            this.numZoomLevels = Math.min(this.numZoomLevels, limitZoomLevels);        } else {            if (this.maxZoomLevel != null) {                var zoomDiff = this.maxZoomLevel - this.minZoomLevel + 1;                this.numZoomLevels = Math.min(zoomDiff, limitZoomLevels);            } else {                this.numZoomLevels = limitZoomLevels;            }        }        this.maxZoomLevel = this.minZoomLevel + this.numZoomLevels - 1;        if (this.RESOLUTIONS != null) {            var resolutionsIndex = 0;            this.resolutions = [];            for(var i= this.minZoomLevel; i < this.numZoomLevels; i++) {                this.resolutions[resolutionsIndex++] = this.RESOLUTIONS[i];                        }        }            },        /**     * APIMethod: getResolution     * Get the current map resolution     *      * Returns:     * {Float} Map units per Pixel     */    getResolution: function() {        if (this.resolutions != null) {            return OpenLayers.Layer.prototype.getResolution.apply(this, arguments);        } else {            var resolution = null;                        var viewSize = this.map.getSize();            var extent = this.getExtent();                        if ((viewSize != null) && (extent != null)) {                resolution = Math.max( extent.getWidth()  / viewSize.w,                                       extent.getHeight() / viewSize.h );            }            return resolution;        }     },    /**     * APIMethod: getExtent     * Calculates using px-> lonlat translation functions on tl and br      *     corners of viewport     *      * Returns:     * {<OpenLayers.Bounds>} A Bounds object which represents the lon/lat      *                       bounds of the current viewPort.     */    getExtent: function () {        var extent = null;                        var size = this.map.getSize();                var tlPx = new OpenLayers.Pixel(0,0);        var tlLL = this.getLonLatFromViewPortPx(tlPx);        var brPx = new OpenLayers.Pixel(size.w, size.h);        var brLL = this.getLonLatFromViewPortPx(brPx);                if ((tlLL != null) && (brLL != null)) {            extent = new OpenLayers.Bounds(tlLL.lon,                                        brLL.lat,                                        brLL.lon,                                        tlLL.lat);        }        return extent;    },    /**     * Method: getZoomForResolution     * Get the zoom level for a given resolution     *     * Parameters:     * resolution - {Float}     *     * Returns:     * {Integer} A suitable zoom level for the specified resolution.     *           If no baselayer is set, returns null.     */    getZoomForResolution: function(resolution) {              if (this.resolutions != null) {            return OpenLayers.Layer.prototype.getZoomForResolution.apply(this, arguments);        } else {            var extent = OpenLayers.Layer.prototype.getExtent.apply(this,                                                                     [resolution]);                                                                                return this.getZoomForExtent(extent);        }    },        /********************************************************/    /*                                                      */    /*             Translation Functions                    */    /*                                                      */    /*    The following functions translate GMaps and OL    */     /*     formats for Pixel, LonLat, Bounds, and Zoom      */    /*                                                      */    /********************************************************/            //    // TRANSLATION: MapObject Zoom <-> OpenLayers Zoom    //      /**     * Method: getOLZoomFromMapObjectZoom     * Get the OL zoom index from the map object zoom level     *     * Parameters:     * moZoom - {Integer}     *      * Returns:     * {Integer} An OpenLayers Zoom level, translated from the passed in zoom     *           Returns null if null value is passed in     */    getOLZoomFromMapObjectZoom: function(moZoom) {        var zoom = null;        if (moZoom != null) {            zoom = moZoom - this.minZoomLevel;        }        return zoom;    },        /**     * Method: getMapObjectZoomFromOLZoom     * Get the map object zoom level from the OL zoom level     *     * Parameters:     * olZoom - {Integer}     *      * Returns:     * {Integer} A MapObject level, translated from the passed in olZoom     *           Returns null if null value is passed in     */    getMapObjectZoomFromOLZoom: function(olZoom) {        var zoom = null;         if (olZoom != null) {            zoom = olZoom + this.minZoomLevel;        }        return zoom;    },    CLASS_NAME: "FixedZoomLevels.js"});

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级蜜桃2在线观看| 国产精品天美传媒沈樵| 日韩主播视频在线| 欧美一激情一区二区三区| 国模一区二区三区白浆| 国产色91在线| 色综合久久久久久久久| 亚洲自拍另类综合| 欧美一区二区三区影视| 国产高清在线精品| 亚洲欧洲制服丝袜| 欧美一区二区三区思思人| 国内精品国产成人| 亚洲婷婷综合色高清在线| 欧美日韩国产小视频| 狠狠色狠狠色合久久伊人| 中文成人综合网| 欧美日韩午夜在线视频| 国产一区91精品张津瑜| 亚洲欧洲av另类| 欧美一区二区三区啪啪| 成人性生交大片免费看中文网站| 樱花影视一区二区| 久久影院视频免费| 欧美网站一区二区| 成人污污视频在线观看| 亚洲成人综合网站| 日本一区二区高清| 69av一区二区三区| 99精品国产热久久91蜜凸| 久久国产视频网| 一区二区三区欧美日| 国产亚洲精品中文字幕| 欧美日韩中文国产| 成人av在线观| 美女视频黄频大全不卡视频在线播放| 国产精品国产馆在线真实露脸| 91精品欧美福利在线观看| 91香蕉视频污| 国产精品2024| 蜜臀av在线播放一区二区三区| 亚洲素人一区二区| 国产清纯白嫩初高生在线观看91 | 国产91丝袜在线播放| 亚洲一卡二卡三卡四卡 | 成人一区二区视频| 美女网站视频久久| 亚洲不卡在线观看| 亚洲人成亚洲人成在线观看图片| 久久亚洲精华国产精华液| 欧美久久一区二区| 日本韩国精品在线| 国产69精品久久99不卡| 狠狠久久亚洲欧美| 青青青伊人色综合久久| 香蕉影视欧美成人| 一二三四社区欧美黄| 亚洲色图欧洲色图| 国产精品成人午夜| 国产精品入口麻豆九色| 国产色一区二区| 国产性色一区二区| 久久先锋影音av鲁色资源| 欧美成人r级一区二区三区| 欧美一区二区三区系列电影| 777精品伊人久久久久大香线蕉| 91社区在线播放| 日本韩国视频一区二区| 色域天天综合网| 91网站最新地址| 色呦呦网站一区| 色综合久久天天| 欧美中文字幕不卡| 欧美日韩一区二区电影| 欧美日韩精品福利| 在线播放中文一区| 欧美成人一区二区三区片免费| 日韩美女在线视频| 欧美成人精品二区三区99精品| 日韩欧美一区二区三区在线| 91精品麻豆日日躁夜夜躁| 日韩一区二区三区四区| 精品国产免费视频| 久久久不卡网国产精品二区| 久久久国产一区二区三区四区小说| 久久蜜臀精品av| 国产精品激情偷乱一区二区∴| 国产精品福利一区二区| 亚洲激情五月婷婷| 日韩综合小视频| 国产一区在线不卡| 99久久777色| 欧美久久久久久久久久| 精品国产区一区| 中文字幕一区二区三区四区不卡 | 国产精品一区久久久久| 高清日韩电视剧大全免费| 91小视频在线观看| 欧美一区二区三区精品| 久久久综合九色合综国产精品| 国产午夜精品一区二区三区四区| 亚洲国产成人在线| 亚洲韩国精品一区| 精品一区二区三区视频| av在线综合网| 91精品国产91综合久久蜜臀| 久久亚洲影视婷婷| 亚洲在线视频一区| 国产一区二区三区在线观看免费视频| 丁香亚洲综合激情啪啪综合| 在线免费观看日本一区| 精品国产乱码久久久久久久| 成人免费在线视频观看| 午夜精品久久久久久久久久| 国产乱码精品一区二区三| 在线亚洲人成电影网站色www| 日韩欧美国产1| 亚洲人成网站精品片在线观看| 日韩制服丝袜av| 99久久综合狠狠综合久久| 欧美一区二区三区播放老司机| 中文字幕一区在线| 九九热在线视频观看这里只有精品| 99re这里只有精品首页| 日韩一级大片在线| 亚洲乱码国产乱码精品精的特点 | 久久精品在线免费观看| 亚洲自拍偷拍网站| 成人看片黄a免费看在线| 欧美电影免费观看高清完整版| 亚洲免费毛片网站| 国产激情视频一区二区三区欧美| 欧美肥妇毛茸茸| 亚洲另类春色国产| 粗大黑人巨茎大战欧美成人| 日韩欧美成人激情| 五月开心婷婷久久| 一本大道av伊人久久综合| 国产欧美精品国产国产专区 | 国产精品18久久久久久久久久久久 | 97精品电影院| 久久久精品国产免费观看同学| 日韩黄色在线观看| 欧美三级资源在线| 亚洲综合999| 日本高清不卡aⅴ免费网站| 精品久久一二三区| 日本不卡视频一二三区| 欧美日韩国产精选| 亚洲成人综合在线| 欧美在线免费观看亚洲| 亚洲视频一区在线观看| 99久久精品免费看国产| 亚洲国产精华液网站w| 国产成人综合在线观看| 久久婷婷国产综合精品青草| 久久国产精品无码网站| 日韩欧美国产三级电影视频| 奇米777欧美一区二区| 亚洲成人在线免费| 欧美日韩中文字幕一区| 亚洲成人手机在线| 欧美精品自拍偷拍| 奇米影视一区二区三区小说| 91精品视频网| 久久精品久久99精品久久| 欧美不卡一区二区三区| 国产一区久久久| 欧美经典三级视频一区二区三区| 国产98色在线|日韩| 日本一区二区电影| eeuss国产一区二区三区| 亚洲欧美国产毛片在线| 91久久香蕉国产日韩欧美9色| 亚洲精品成人悠悠色影视| 欧美色图激情小说| 麻豆传媒一区二区三区| 久久这里只有精品6| 成人av电影在线| 一区二区在线看| 91精品欧美一区二区三区综合在| 蜜桃视频第一区免费观看| 久久在线观看免费| 99久久久久免费精品国产 | 粉嫩久久99精品久久久久久夜| 国产精品视频免费| 欧美性受xxxx黑人xyx性爽| 日韩精品一卡二卡三卡四卡无卡| 精品国产成人系列| caoporm超碰国产精品| 亚洲va国产天堂va久久en| 日韩中文字幕麻豆| 久久久亚洲欧洲日产国码αv| eeuss鲁片一区二区三区| 一区二区国产视频| 日韩欧美一二三区| www.欧美.com| 丝袜诱惑亚洲看片| 国产精品久久久久久亚洲毛片| 欧美视频自拍偷拍|