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

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

?? tilecache.js

?? 用來在地圖上做操作GIS,在地圖上做標記
?? JS
字號:
/* Copyright (c) 2006-2007 MetaCarta, Inc., published under the BSD licence. * See http://svn.openlayers.org/trunk/openlayers/release-license.txt  * for the full text of the license. *//** * @requires OpenLayers/Layer/Grid.js * * Class: OpenLayers.Layer.TileCache * A read only TileCache layer.  Used to requests tiles cached by TileCache in *     a web accessible cache.  Create a new instance with the *     <OpenLayers.Layer.TileCache> constructor. * * Inherits from: *  - <OpenLayers.Layer.Grid> */OpenLayers.Layer.TileCache = OpenLayers.Class(OpenLayers.Layer.Grid, {    /**      * APIProperty: isBaseLayer     * {Boolean} Treat this layer as a base layer.  Default is true.     */    isBaseLayer: true,        /**     * APIProperty: tileOrigin     * {<OpenLayers.LonLat>} Location of the tile lattice origin.  Default is     *     bottom left of the maxExtent.     */    tileOrigin: null,        /**      * APIProperty: format     * {String} Mime type of the images returned.  Default is image/png.     */    format: 'image/png',    /**     * Constructor: OpenLayers.Layer.TileCache     * Create a new read only TileCache layer.     *     * Parameters:     * name - {String} Name of the layer displayed in the interface     * url - {String} Location of the web accessible cache     * layername - {String} Layer name as defined in the TileCache      *     configuration     * options - {Object} Hashtable of extra options to tag onto the layer     */    initialize: function(name, url, layername, options) {        options = OpenLayers.Util.extend({maxResolution: 180/256}, options);        this.layername = layername;        OpenLayers.Layer.Grid.prototype.initialize.apply(this,                                                         [name, url, {}, options]);        this.extension = this.format.split('/')[1].toLowerCase();        this.extension = (this.extension == 'jpeg') ? 'jpg' : this.extension;    },        /**     * APIMethod: clone     * obj - {Object}      *      * Returns:     * {<OpenLayers.Layer.TileCache>} An exact clone of this      *     <OpenLayers.Layer.TileCache>     */    clone: function (obj) {                if (obj == null) {            obj = new OpenLayers.Layer.TileCache(this.name,                                           this.url,                                           this.options);        }        //get all additions from superclasses        obj = OpenLayers.Layer.Grid.prototype.clone.apply(this, [obj]);        // copy/set any non-init, non-simple values here        return obj;    },            /**     * Method: getURL     *     * Parameters:     * bounds - {<OpenLayers.Bounds>}      *      * Returns:     * {String} A string with the layer's url and parameters and also the      *     passed-in bounds and appropriate tile size specified as parameters.     */    getURL: function(bounds) {        var res = this.map.getResolution();        var bbox = this.maxExtent;        var size = this.tileSize;        var tileX = Math.floor((bounds.left - bbox.left) / (res * size.w));        var tileY = Math.floor((bounds.bottom - bbox.bottom) / (res * size.h));        var tileZ = this.map.zoom;        /**         * Zero-pad a positive integer.         * number - {Int}          * length - {Int}          *         * Returns:         * {String} A zero-padded string         */        function zeroPad(number, length) {            number = String(number);            var zeros = [];            for(var i=0; i<length; ++i) {                zeros.push('0');            }            return zeros.join('').substring(0, length - number.length) + number;        }        var components = [            this.layername,            zeroPad(tileZ, 2),            zeroPad(parseInt(tileX / 1000000), 3),            zeroPad((parseInt(tileX / 1000) % 1000), 3),            zeroPad((parseInt(tileX) % 1000), 3),            zeroPad(parseInt(tileY / 1000000), 3),            zeroPad((parseInt(tileY / 1000) % 1000), 3),            zeroPad((parseInt(tileY) % 1000), 3) + '.' + this.extension        ];        var path = components.join('/');         var url = this.url;        if (url instanceof Array) {            url = this.selectUrl(path, url);        }        url = (url.charAt(url.length - 1) == '/') ? url : url + '/';        return url + path;    },    /**     * Method: addTile     * Create a tile, initialize it, and add it to the layer div.      *     * Parameters:      * bounds - {<OpenLayers.Bounds>}      *     * Returns:     * {<OpenLayers.Tile.Image>} The added <OpenLayers.Tile.Image>     */    addTile:function(bounds, position) {        var url = this.getURL(bounds);        return new OpenLayers.Tile.Image(this, position, bounds,                                              url, this.tileSize);    },    /**      * Method: setMap     * When the layer is added to a map, then we can fetch our origin      *     (if we don't have one.)      *      * Parameters:     * map - {<OpenLayers.Map>}      */    setMap: function(map) {        OpenLayers.Layer.Grid.prototype.setMap.apply(this, arguments);        if (!this.tileOrigin) {             this.tileOrigin = new OpenLayers.LonLat(this.map.maxExtent.left,                                                    this.map.maxExtent.bottom);        }    },    CLASS_NAME: "OpenLayers.Layer.TileCache"});

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美中文在线| 精品一区二区三区久久久| 美女尤物国产一区| 成人av电影在线| 欧美大片一区二区| 五月天网站亚洲| 97成人超碰视| 久久看人人爽人人| 久久国产精品第一页| 欧美日韩日日骚| 亚洲少妇30p| 99久久99久久精品免费看蜜桃 | 国产午夜精品一区二区三区嫩草| 亚洲午夜激情网站| 日本高清免费不卡视频| 亚洲婷婷在线视频| 成人动漫av在线| 国产日韩v精品一区二区| 蜜桃av一区二区三区电影| 欧美日韩1234| 天涯成人国产亚洲精品一区av| 91国产丝袜在线播放| 亚洲少妇30p| 色婷婷综合久久| 一区二区三区在线播放| 色婷婷av久久久久久久| 亚洲乱码国产乱码精品精小说 | 91在线看国产| 亚洲少妇30p| 91视频在线观看免费| 亚洲欧洲99久久| 国产精品1区2区3区| 国产三级欧美三级| 成人精品视频.| 亚洲欧美在线另类| 在线观看亚洲a| 亚洲不卡av一区二区三区| 欧美日韩和欧美的一区二区| 图片区小说区区亚洲影院| 91在线观看视频| 亚洲综合999| 欧美肥大bbwbbw高潮| 久久精品久久久精品美女| 久久午夜色播影院免费高清| 国产精品自拍av| 中文字幕一区二区三区乱码在线| 色综合中文字幕国产| 五月天视频一区| 日韩欧美一级二级三级久久久| 久久97超碰国产精品超碰| 欧美国产亚洲另类动漫| 94色蜜桃网一区二区三区| 香蕉成人伊视频在线观看| 3d动漫精品啪啪| 国产91精品露脸国语对白| 中文字幕中文字幕在线一区| 欧美日韩美少妇| 国产高清在线精品| 亚洲伊人伊色伊影伊综合网| 91精品国产色综合久久不卡电影| 久久99精品久久久久久| 亚洲图片激情小说| 日韩视频不卡中文| 成人深夜视频在线观看| 天天影视网天天综合色在线播放| 久久久久国产一区二区三区四区| 色香色香欲天天天影视综合网| 日韩国产在线一| 中文字幕乱码日本亚洲一区二区| 欧美日韩国产高清一区二区三区| 国产精品资源在线看| 亚洲成人久久影院| 国产精品久久毛片a| 欧美一区二区三区视频免费播放 | 中文字幕欧美三区| 3d动漫精品啪啪1区2区免费 | 国产一区二区看久久| 一区二区三区在线视频观看58| 欧美大白屁股肥臀xxxxxx| www.欧美日韩国产在线| 青青草精品视频| 亚洲欧美乱综合| 国产日本欧美一区二区| 欧美一区二区精品久久911| 99久久婷婷国产综合精品| 久久国产免费看| 亚洲bt欧美bt精品777| 综合久久一区二区三区| 国产欧美一区二区精品性色| 日韩免费观看2025年上映的电影| 在线欧美日韩国产| 97久久超碰国产精品电影| 国产成人综合网站| 精品一区二区三区蜜桃| 日韩av电影一区| 亚洲国产一区二区三区青草影视| 国产精品护士白丝一区av| 久久久精品国产99久久精品芒果 | 欧美性xxxxxx少妇| av亚洲精华国产精华精华| 国产精品一区一区| 经典三级视频一区| 久久精品国产第一区二区三区| 亚洲国产欧美日韩另类综合| 夜夜精品浪潮av一区二区三区| 中文字幕在线不卡| 国产精品狼人久久影院观看方式| 久久一区二区视频| 久久伊99综合婷婷久久伊| 日韩视频一区二区在线观看| 91麻豆精品91久久久久同性| 欧美丰满一区二区免费视频| 欧美片在线播放| 欧美二区在线观看| 日韩一区国产二区欧美三区| 欧美日本高清视频在线观看| 欧美唯美清纯偷拍| 欧美日韩精品欧美日韩精品| 91精品国产综合久久精品性色| 制服丝袜中文字幕亚洲| 欧美mv日韩mv亚洲| 久久午夜色播影院免费高清| 欧美国产丝袜视频| 一区二区三区高清在线| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲视频精选在线| 首页国产丝袜综合| 国产一区二区在线观看免费| 国产成人综合亚洲91猫咪| 91丨porny丨蝌蚪视频| 欧美另类z0zxhd电影| 亚洲精品一区在线观看| 国产精品视频在线看| 亚洲福利一区二区| 国产在线看一区| 91小视频在线| 91精品国产综合久久国产大片 | 国产v综合v亚洲欧| 一本大道综合伊人精品热热 | 在线亚洲欧美专区二区| 9191国产精品| 中文字幕精品一区二区三区精品| 亚洲精品少妇30p| 久草这里只有精品视频| 91网站在线观看视频| 日韩一区国产二区欧美三区| 国产精品久久久久久久久免费樱桃| 夜夜爽夜夜爽精品视频| 国产在线一区观看| 欧美在线短视频| 国产欧美日韩精品a在线观看| 一区二区三区欧美日韩| 国产精品一区二区在线观看不卡 | 91在线观看视频| 日韩精品一区二区三区在线播放| 亚洲欧洲精品天堂一级| 久久91精品久久久久久秒播| 91老司机福利 在线| 久久久三级国产网站| 亚洲高清视频中文字幕| 成人精品国产福利| 精品国产a毛片| 天天做天天摸天天爽国产一区| 成人国产在线观看| 久久综合丝袜日本网| 偷拍与自拍一区| 91网站最新网址| 欧美激情艳妇裸体舞| 美女视频黄久久| 精品污污网站免费看| 亚洲欧美成aⅴ人在线观看| 精品一区二区在线视频| 3d成人h动漫网站入口| 一区二区三区色| 色综合视频在线观看| 国产精品麻豆网站| 国产最新精品免费| 精品国产一区二区三区av性色| 亚洲大片精品永久免费| 日本高清成人免费播放| 国产精品超碰97尤物18| 国产成人免费视频网站| 久久久综合九色合综国产精品| 久久精品免费观看| 日韩欧美国产不卡| 琪琪一区二区三区| 欧美一级二级三级蜜桃| 午夜精品福利一区二区三区av| 欧美三级电影精品| 亚洲第一二三四区| 欧美日韩免费不卡视频一区二区三区| 亚洲欧美国产毛片在线| 97精品视频在线观看自产线路二| 国产精品夫妻自拍| 一本一道久久a久久精品综合蜜臀| 国产精品福利一区二区三区| 99久久精品国产导航| 亚洲欧美日韩综合aⅴ视频| 色噜噜狠狠色综合中国| 亚洲一区二区三区四区中文字幕|