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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? vector.js

?? 用來在地圖上做操作GIS,在地圖上做標(biāo)記
?? 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 * @requires OpenLayers/Renderer.js * @requires OpenLayers/Feature/Vector.js *  * Class: OpenLayers.Layer.Vector * Instances of OpenLayers.Layer.Vector are used to render vector data from * a variety of sources. Create a new image layer with the * <OpenLayers.Layer.Vector> constructor. * * Inherits from: *  - <OpenLayers.Layer> */OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {    /**     * APIProperty: isBaseLayer     * {Boolean} The layer is a base layer.  Default is true.  Set this property     * in the layer options     */    isBaseLayer: false,    /**      * APIProperty: isFixed     * {Boolean} Whether the layer remains in one place while dragging the     * map.     */    isFixed: false,    /**      * APIProperty: isVector     * {Boolean} Whether the layer is a vector layer.     */    isVector: true,    /**      * APIProperty: features     * Array({<OpenLayers.Feature.Vector>})      */    features: null,        /**      * Property: selectedFeatures     * Array({<OpenLayers.Feature.Vector>})      */    selectedFeatures: null,    /**     * APIProperty: reportError     * {Boolean} report error message via alert() when loading of renderers     * fails.     */    reportError: true,     /**      * APIProperty: style     * {Object} Default style for the layer     */    style: null,    /**     * Property: renderers     * Array({String}) List of supported Renderer classes. Add to this list to     * add support for additional renderers. This list is ordered:     * the first renderer which returns true for the  'supported()'     * method will be used, if not defined in the 'renderer' option.     */    renderers: ['SVG', 'VML'],        /**      * Property: renderer     * {<OpenLayers.Renderer>}     */    renderer: null,       /**      * APIProperty: geometryType     * {String} geometryType allows you to limit the types of geometries this     * layer supports. This should be set to something like     * "OpenLayers.Geometry.Point" to limit types.     */    geometryType: null,    /**      * Property: drawn     * {Boolean} Whether the Vector Layer features have been drawn yet.     */    drawn: false,    /**     * Constructor: OpenLayers.Layer.Vector     * Create a new vector layer     *     * Parameters:     * name - {String} A name for the layer     * options - {Object} options Object with non-default properties to set on     *           the layer.     *     * Returns:     * {<OpenLayers.Layer.Vector>} A new vector layer     */    initialize: function(name, options) {        var defaultStyle = OpenLayers.Feature.Vector.style['default'];        this.style = OpenLayers.Util.extend({}, defaultStyle);        OpenLayers.Layer.prototype.initialize.apply(this, arguments);        // allow user-set renderer, otherwise assign one        if (!this.renderer || !this.renderer.supported()) {              this.assignRenderer();        }        // if no valid renderer found, display error        if (!this.renderer || !this.renderer.supported()) {            this.renderer = null;            this.displayError();        }         this.features = [];        this.selectedFeatures = [];    },    /**     * APIMethod: destroy     * Destroy this layer     */    destroy: function() {        OpenLayers.Layer.prototype.destroy.apply(this, arguments);          this.destroyFeatures();        this.features = null;        this.selectedFeatures = null;        if (this.renderer) {            this.renderer.destroy();        }        this.renderer = null;        this.geometryType = null;        this.drawn = null;    },    /**      * Method: assignRenderer     * Iterates through the available renderer implementations and selects      * and assigns the first one whose "supported()" function returns true.     */        assignRenderer: function()  {        for (var i = 0; i < this.renderers.length; i++) {            var rendererClass = OpenLayers.Renderer[this.renderers[i]];            if (rendererClass && rendererClass.prototype.supported()) {               this.renderer = new rendererClass(this.div);               break;            }          }      },    /**      * Method: displayError      * Let the user know their browser isn't supported.     */    displayError: function() {        if (this.reportError) {            var message = "Your browser does not support vector rendering. " +                             "Currently supported renderers are:\n";            message += this.renderers.join("\n");            alert(message);        }        },    /**      * Method: setMap     * The layer has been added to the map.      *      * If there is no renderer set, the layer can't be used. Remove it.     * Otherwise, give the renderer a reference to the map and set its size.     *      * Parameters:     * map - {<OpenLayers.Map>}      */    setMap: function(map) {                OpenLayers.Layer.prototype.setMap.apply(this, arguments);        if (!this.renderer) {            this.map.removeLayer(this);        } else {            this.renderer.map = this.map;            this.renderer.setSize(this.map.getSize());        }    },        /**     * Method: onMapResize     * Notify the renderer of the change in size.      *      */    onMapResize: function() {        OpenLayers.Layer.prototype.onMapResize.apply(this, arguments);        this.renderer.setSize(this.map.getSize());    },    /**     * Method: moveTo     *  Reset the vector layer's div so that it once again is lined up with      *   the map. Notify the renderer of the change of extent, and in the     *   case of a change of zoom level (resolution), have the      *   renderer redraw features.     *      *  If the layer has not yet been drawn, cycle through the layer's      *   features and draw each one.     *      * Parameters:     * bounds - {<OpenLayers.Bounds>}      * zoomChanged - {Boolean}      * dragging - {Boolean}      */    moveTo: function(bounds, zoomChanged, dragging) {        OpenLayers.Layer.prototype.moveTo.apply(this, arguments);                if (!dragging) {            this.div.style.left = - parseInt(this.map.layerContainerDiv.style.left) + "px";            this.div.style.top = - parseInt(this.map.layerContainerDiv.style.top) + "px";            var extent = this.map.getExtent();            this.renderer.setExtent(extent);        }        if (!this.drawn || zoomChanged) {            this.drawn = true;            for(var i = 0; i < this.features.length; i++) {                var feature = this.features[i];                this.drawFeature(feature);            }        }        },    /**     * APIMethod: addFeatures     * Add Features to the layer.     *     * Parameters:     * features - {Array(<OpenLayers.Feature.Vector>)}      */    addFeatures: function(features) {        if (!(features instanceof Array)) {            features = [features];        }        for (var i = 0; i < features.length; i++) {            var feature = features[i];                        if (this.geometryType &&                !(feature.geometry instanceof this.geometryType)) {                    var throwStr = "addFeatures : component should be an " +                                     this.geometryType.prototype.CLASS_NAME;                    throw throwStr;                }            this.features.push(feature);                        //give feature reference to its layer            feature.layer = this;            if (!feature.style) {                feature.style = OpenLayers.Util.extend({}, this.style);            }            this.preFeatureInsert(feature);            if (this.drawn) {                this.drawFeature(feature);            }                        this.onFeatureInsert(feature);        }    },    /**     * APIMethod: removeFeatures     *      * Parameters:     * features - {Array(<OpenLayers.Feature.Vector>)}      */    removeFeatures: function(features) {        if (!(features instanceof Array)) {            features = [features];        }        for (var i = features.length - 1; i >= 0; i--) {            var feature = features[i];            this.features = OpenLayers.Util.removeItem(this.features, feature);            if (feature.geometry) {                this.renderer.eraseGeometry(feature.geometry);            }                                //in the case that this feature is one of the selected features,             // remove it from that array as well.            if (OpenLayers.Util.indexOf(this.selectedFeatures, feature) != -1){                OpenLayers.Util.removeItem(this.selectedFeatures, feature);            }        }    },    /**     * APIMethod: destroyFeatures     * Destroy all features on the layer and empty the selected features array.     */    destroyFeatures: function () {        this.selectedFeatures = [];        for (var i = this.features.length - 1; i >= 0; i--) {            this.features[i].destroy();        }    },    /**     * Method: drawFeature     * Draw (or redraw) a feature on the layer.  If the optional style argument     * is included, this style will be used.  If no style is included, the     * feature's style will be used.  If the feature doesn't have a style,     * the layer's style will be used.     *      * Parameters:      * feature - {<OpenLayers.Feature.Vector>}      * style - {Object}      */    drawFeature: function(feature, style) {        if(style == null) {            if(feature.style) {                style = feature.style;            } else {                style = this.style;            }        }        this.renderer.drawFeature(feature, style);    },        /**     * Method: eraseFeatures     * Erase features from the layer.     *     * Parameters:     * features - {Array(<OpenLayers.Feature.Vector>)}      */    eraseFeatures: function(features) {        this.renderer.eraseFeatures(features);    },    /**     * Method: getFeatureFromEvent     * Given an event, return a feature if the event occurred over one.     * Otherwise, return null.     *     * Parameters:     * evt - {Event}      *     * Returns:     * {<OpenLayers.Feature.Vector>} A feature if one was under the event.     */    getFeatureFromEvent: function(evt) {        if (!this.renderer) {            OpenLayers.Console.error("getFeatureFromEvent called on layer with no renderer. This usually means you destroyed a layer, but not some handler which is associated with it.");             return null;        }            var featureId = this.renderer.getFeatureIdFromEvent(evt);        return this.getFeatureById(featureId);    },        /**     * APIMethod: getFeatureById     * Given a feature id, return the feature if it exists in the features array     *     * Parameters:     * featureId - {String}      *     * Returns:     * {<OpenLayers.Feature.Vector>} A feature corresponding to the given     * featureId     */    getFeatureById: function(featureId) {        //TBD - would it be more efficient to use a hash for this.features?        var feature = null;        for(var i=0; i<this.features.length; ++i) {            if(this.features[i].id == featureId) {                feature = this.features[i];                break;            }        }        return feature;    },        /**     * Unselect the selected features     * i.e. clears the featureSelection array     * change the style back    clearSelection: function() {       var vectorLayer = this.map.vectorLayer;        for (var i = 0; i < this.map.featureSelection.length; i++) {            var featureSelection = this.map.featureSelection[i];            vectorLayer.drawFeature(featureSelection, vectorLayer.style);        }        this.map.featureSelection = [];    },     */    /**     * APIMethod: onFeatureInsert     * method called after a feature is inserted.     * Does nothing by default. Override this if you     * need to do something on feature updates.     *     * Paarameters:      * feature - {<OpenLayers.Feature.Vector>}      */    onFeatureInsert: function(feature) {    },        /**     * APIMethod: preFeatureInsert     * method called before a feature is inserted.     * Does nothing by default. Override this if you     * need to do something when features are first added to the     * layer, but before they are drawn, such as adjust the style.     *     * Parameters:     * feature - {<OpenLayers.Feature.Vector>}      */    preFeatureInsert: function(feature) {    },    CLASS_NAME: "OpenLayers.Layer.Vector"});

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲视频在线一区| 精品少妇一区二区三区视频免付费 | 一区二区三区四区中文字幕| 成人免费毛片片v| 国产精品国产自产拍高清av王其| 成人午夜碰碰视频| 亚洲青青青在线视频| 在线观看国产精品网站| 五月天一区二区三区| 日韩女优视频免费观看| 国产91精品在线观看| 亚洲视频在线观看一区| 欧美色视频一区| 老司机免费视频一区二区 | 国产午夜精品一区二区| 91亚洲资源网| 日本中文在线一区| 国产欧美一区二区三区网站| 日本伦理一区二区| 日韩专区中文字幕一区二区| 国产夜色精品一区二区av| 99麻豆久久久国产精品免费| 日韩精品乱码免费| 久久久精品综合| 日本道免费精品一区二区三区| 男男gaygay亚洲| 国产精品夫妻自拍| 日韩一区二区三免费高清| 91精品国产综合久久久久久久| 蜜桃av噜噜一区| 国产精品久久久久久久久久久免费看 | 全部av―极品视觉盛宴亚洲| 国产欧美日韩麻豆91| 欧美视频一区二区三区在线观看| 久久精品久久精品| 一区二区三区日韩精品| 久久久久久一二三区| 欧美日韩一级片在线观看| 国产一区二区在线免费观看| 亚洲蜜臀av乱码久久精品| 久久人人爽人人爽| 欧美日韩精品免费| 91麻豆免费看| 国产成人精品免费看| 日韩av网站免费在线| 亚洲人成在线观看一区二区| 久久伊99综合婷婷久久伊| 欧美日韩大陆在线| 97久久精品人人澡人人爽| 国产高清在线精品| 久久激情综合网| 婷婷综合五月天| 亚洲已满18点击进入久久| 国产精品传媒入口麻豆| 中文字幕欧美日本乱码一线二线| 日韩久久久精品| 91精品国模一区二区三区| 欧美视频在线播放| 在线免费av一区| 一本一道久久a久久精品| 成人av资源站| caoporen国产精品视频| 国产成人久久精品77777最新版本| 免费成人在线观看| 免费在线观看视频一区| 日韩精品1区2区3区| 亚洲午夜激情av| 亚洲影视在线播放| 亚洲国产综合人成综合网站| 一区二区三区小说| 亚洲一区二区三区四区的| 亚洲一区中文日韩| 亚洲国产日韩一区二区| 亚洲一线二线三线视频| 亚洲成人先锋电影| 日本欧美一区二区三区乱码| 日韩精品欧美精品| 蜜桃精品在线观看| 激情久久五月天| 国产超碰在线一区| av在线这里只有精品| 不卡视频一二三| 色综合久久综合网欧美综合网| 色偷偷一区二区三区| 91极品美女在线| 欧美美女激情18p| 日韩欧美久久一区| 久久久噜噜噜久久人人看| 国产精品三级在线观看| 亚洲色图欧洲色图| 亚洲国产成人tv| 日本视频在线一区| 国产精品99久久久久久似苏梦涵| 国产丶欧美丶日本不卡视频| 成人激情小说网站| 色久综合一二码| 欧美一级黄色录像| 国产日韩欧美精品综合| 亚洲精品成人精品456| 日本亚洲视频在线| 国产**成人网毛片九色| 91小视频在线免费看| 欧美日本视频在线| 久久综合九色欧美综合狠狠| 国产精品福利在线播放| 五月激情综合色| 国产一区不卡在线| 91网址在线看| 欧美一区二区视频免费观看| 国产喂奶挤奶一区二区三区| 亚洲最新视频在线观看| 麻豆精品在线观看| 91色综合久久久久婷婷| 91麻豆精品国产自产在线| 国产视频一区二区在线观看| 亚洲国产精品一区二区久久| 狠狠色丁香婷婷综合久久片| 99久久精品免费精品国产| 欧美一区二区大片| 亚洲欧美另类在线| 精品制服美女久久| 欧美性生活大片视频| 国产亚洲综合av| 午夜精品久久久久久| 99久久免费视频.com| 日韩精品一区二区三区视频 | 国产精品国模大尺度视频| 日本成人在线一区| 一本色道久久加勒比精品 | 洋洋成人永久网站入口| 国产成人精品综合在线观看 | 国产一区久久久| 欧美色男人天堂| 国产精品久久久久桃色tv| 久久国产视频网| 欧美视频一区在线| 亚洲色图在线看| 国产成人福利片| 日韩欧美成人一区二区| 午夜视频一区二区三区| 色婷婷av一区| 成人免费视频在线观看| 国产二区国产一区在线观看| 欧美α欧美αv大片| 亚洲国产日韩在线一区模特| 91麻豆高清视频| 中文字幕国产一区二区| 国产精品资源网站| 精品美女被调教视频大全网站| 午夜精品久久久久久久久| 色哟哟国产精品| 亚洲免费av网站| 色婷婷狠狠综合| 亚洲精品欧美专区| 91麻豆免费看片| 一区二区三区欧美亚洲| 99国产一区二区三精品乱码| 国产欧美中文在线| 国产美女一区二区| 久久午夜色播影院免费高清 | 麻豆成人久久精品二区三区小说| 欧美性生交片4| 午夜私人影院久久久久| 欧美日韩精品一二三区| 三级在线观看一区二区| 欧美日韩电影在线| 免费在线观看一区二区三区| 日韩视频在线一区二区| 麻豆精品一区二区综合av| 精品久久人人做人人爽| 国产一区二区三区香蕉| 久久九九99视频| av高清不卡在线| 亚洲日本成人在线观看| 日本韩国视频一区二区| 亚洲图片自拍偷拍| 555www色欧美视频| 久久99久久久欧美国产| 久久综合色天天久久综合图片| 国产一区91精品张津瑜| 国产精品乱码妇女bbbb| 97超碰欧美中文字幕| 亚洲综合网站在线观看| 91精品国产欧美一区二区成人| 久久99国产精品尤物| 国产欧美日韩综合精品一区二区 | 亚洲一级电影视频| 91精品国产高清一区二区三区 | 91色九色蝌蚪| 亚洲成人av福利| 欧美成va人片在线观看| 懂色av一区二区三区免费观看 | 日韩精品色哟哟| 久久久久久免费| 色94色欧美sute亚洲线路一ni| 亚洲sss视频在线视频| 久久奇米777| 91麻豆6部合集magnet| 亚洲1区2区3区视频| 国产丝袜美腿一区二区三区|