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

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

?? modifyfeature.js

?? 用來在地圖上做操作GIS,在地圖上做標記
?? JS
?? 第 1 頁 / 共 2 頁
字號:
     *     * Parameters:     * feature - {<OpenLayers.Feature.Vector>} The selected feature.     */    selectFeature: function(feature) {        this.feature = feature;        this.resetVertices();        this.dragControl.activate();        this.onModificationStart(this.feature);    },    /**     * Method: unselectFeature     * Called when the select feature control unselects a feature.     *     * Parameters:     * feature - {<OpenLayers.Feature.Vector>} The unselected feature.     */    unselectFeature: function(feature) {        this.layer.removeFeatures(this.vertices);        this.layer.removeFeatures(this.virtualVertices);        this.vertices = [];        this.virtualVertices = [];        this.feature = null;        this.dragControl.deactivate();        this.onModificationEnd(feature);    },    /**     * Method: dragStart     * Called by the drag feature control with before a feature is dragged.     *     This method is used to differentiate between points and vertices     *     of higher order geometries.  This respects the <geometryTypes>     *     property and forces a select of points when the drag control is     *     already active (and stops events from propagating to the select     *     control).     *     * Parameters:     * feature - {<OpenLayers.Feature.Vector>} The point or vertex about to be     *     dragged.     * pixel - {<OpenLayers.Pixel>} Pixel location of the mouse event.     */    dragStart: function(feature, pixel) {        // only change behavior if the feature is not in the vertices array        if(feature != this.feature &&           OpenLayers.Util.indexOf(this.vertices, feature) == -1 &&           OpenLayers.Util.indexOf(this.virtualVertices, feature) == -1) {            if(this.feature) {                // unselect the currently selected feature                this.selectControl.clickFeature.apply(this.selectControl,                                                      [this.feature]);            }            // check any constraints on the geometry type            if(this.geometryTypes == null ||               OpenLayers.Util.indexOf(this.geometryTypes,                                       feature.geometry.CLASS_NAME) != -1) {                // select the point                this.selectControl.clickFeature.apply(this.selectControl,                                                      [feature]);                /**                 * TBD: These lines improve workflow by letting the user                 *     immediately start dragging after the mouse down.                 *     However, it is very ugly to be messing with controls                 *     and their handlers in this way.  I'd like a better                 *     solution if the workflow change is necessary.                 */                // prepare the point for dragging                this.dragControl.overFeature.apply(this.dragControl,                                                   [feature]);                this.dragControl.lastPixel = pixel;                this.dragControl.dragHandler.started = true;                this.dragControl.dragHandler.start = pixel;                this.dragControl.dragHandler.last = pixel;            }        }    },        /**     * Method: dragVertex     * Called by the drag feature control with each drag move of a vertex.     *     * Parameters:     * vertex - {<OpenLayers.Feature.Vector>} The vertex being dragged.     */    dragVertex: function(vertex) {        if(this.feature.geometry.CLASS_NAME == "OpenLayers.Geometry.Point") {            if(this.feature != vertex) {                this.feature = vertex;            }        } else {            if(OpenLayers.Util.indexOf(this.virtualVertices, vertex) != -1) {                vertex.geometry.parent.addComponent(vertex.geometry,                                                    vertex._index);                delete vertex._index;                OpenLayers.Util.removeItem(this.virtualVertices, vertex);                this.layer.removeFeatures(vertex);            }        }        this.layer.drawFeature(this.feature, this.selectControl.selectStyle);        this.layer.removeFeatures(this.virtualVertices);        // keep the vertex on top so it gets the mouseout after dragging        // this should be removed in favor of an option to draw under or        // maintain node z-index        this.layer.drawFeature(vertex);    },        /**     * Method: dragComplete     * Called by the drag feature control when the feature dragging is complete.     *     * Parameters:     * vertex - {<OpenLayers.Feature.Vector>} The vertex being dragged.     */    dragComplete: function(vertex) {        this.resetVertices();        this.onModification(this.feature);    },        /**     * Method: resetVertices     */    resetVertices: function() {        if(this.vertices.length > 0) {            this.layer.removeFeatures(this.vertices);            this.vertices = [];        }        if(this.virtualVertices.length > 0) {            this.layer.removeFeatures(this.virtualVertices);            this.virtualVertices = [];        }        if(this.feature &&           this.feature.geometry.CLASS_NAME != "OpenLayers.Geometry.Point") {            this.collectVertices(this.feature.geometry);            this.layer.addFeatures(this.vertices);            this.layer.addFeatures(this.virtualVertices);        }    },        /**     * Method: handleKeypress     * Called by the feature handler on keypress.  This is used to delete     *     vertices and point features.  If the <deleteCode> property is set,     *     vertices and points will be deleted when a feature is selected     *     for modification and the mouse is over a vertex.     *     * Parameters:     * {Integer} Key code corresponding to the keypress event.     */    handleKeypress: function(code) {        // check for delete key        if(this.feature &&           OpenLayers.Util.indexOf(this.deleteCodes, code) != -1) {            var vertex = this.dragControl.feature;            if(vertex &&               OpenLayers.Util.indexOf(this.vertices, vertex) != -1) {                // remove the vertex                vertex.geometry.parent.removeComponent(vertex.geometry);                this.layer.drawFeature(this.feature,                                       this.selectControl.selectStyle);                this.resetVertices();                this.onModification(this.feature);            }        }    },    /**     * Method: collectVertices     * Collect the vertices from the modifiable feature's geometry and push     *     them on to the control's vertices array.     */    collectVertices: function() {        this.vertices = [];        this.virtualVirtices = [];                var control = this;        function collectComponentVertices(geometry) {            var i, vertex, component;            if(geometry.CLASS_NAME == "OpenLayers.Geometry.Point") {                vertex = new OpenLayers.Feature.Vector(geometry);                control.vertices.push(vertex);            } else {                for(i=0; i<geometry.components.length; ++i) {                    component = geometry.components[i];                    if(component.CLASS_NAME == "OpenLayers.Geometry.Point") {                        vertex = new OpenLayers.Feature.Vector(component);                        control.vertices.push(vertex);                    } else {                        collectComponentVertices(component);                    }                }                                // add virtual vertices in the middle of each edge                if(geometry.CLASS_NAME != "OpenLayers.Geometry.MultiPoint") {                    for(i=0; i<geometry.components.length-1; ++i) {                        var prevVertex = geometry.components[i];                        var nextVertex = geometry.components[i + 1];                        if(prevVertex.CLASS_NAME == "OpenLayers.Geometry.Point" &&                           nextVertex.CLASS_NAME == "OpenLayers.Geometry.Point") {                            var x = (prevVertex.x + nextVertex.x) / 2;                            var y = (prevVertex.y + nextVertex.y) / 2;                            var point = new OpenLayers.Feature.Vector(                                new OpenLayers.Geometry.Point(x, y),                                null, control.styleVirtual                            );                            // set the virtual parent and intended index                            point.geometry.parent = geometry;                            point._index = i + 1;                            control.virtualVertices.push(point);                        }                    }                }            }        }               collectComponentVertices(this.feature.geometry);    },    /**     * Method: setMap     * Set the map property for the control and all handlers.     *     * Parameters:     * map - {<OpenLayers.Map>} The control's map.     */    setMap: function(map) {        this.selectControl.setMap(map);        this.dragControl.setMap(map);        OpenLayers.Control.prototype.setMap.apply(this, arguments);    },    CLASS_NAME: "OpenLayers.Control.ModifyFeature"});

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品国产精华液| 日韩毛片在线免费观看| 中文字幕av一区二区三区高| 欧美激情一区二区三区不卡| 国产精品午夜电影| 午夜精品福利在线| 国产激情91久久精品导航| 99久久综合99久久综合网站| 欧美日韩一卡二卡| 久久精品视频免费| 亚洲美女偷拍久久| 国产麻豆精品久久一二三| 色哟哟国产精品| 久久先锋影音av| 日韩黄色在线观看| 97se狠狠狠综合亚洲狠狠| 精品久久国产字幕高潮| 亚洲欧美日韩小说| 成人v精品蜜桃久久一区| 91精品国产综合久久香蕉的特点| 日本一区二区免费在线| 久久精品久久综合| 欧美日韩国产片| 亚洲一区视频在线| 99re在线精品| 国产精品亲子乱子伦xxxx裸| 免费欧美日韩国产三级电影| 欧美日韩成人综合| 一区二区三区不卡在线观看| 99久免费精品视频在线观看| 国产欧美精品一区| 成人高清免费在线播放| 国产亚洲女人久久久久毛片| 国产美女精品一区二区三区| 欧美精品一区二区三区高清aⅴ| 日产国产高清一区二区三区| 欧美喷水一区二区| 日日欢夜夜爽一区| 26uuu国产在线精品一区二区| 经典三级一区二区| 国产精品视频一二三| 不卡av免费在线观看| 夜夜嗨av一区二区三区| 欧美日韩一二区| 国产伦精品一区二区三区视频青涩| 久久理论电影网| 播五月开心婷婷综合| 一区二区免费在线| 久久综合狠狠综合久久激情| 激情久久久久久久久久久久久久久久 | 国产日韩视频一区二区三区| 成人激情av网| 日本欧美一区二区在线观看| 欧美α欧美αv大片| 波多野结衣在线一区| 秋霞午夜av一区二区三区| 亚洲精品一区二区三区四区高清| 91免费观看在线| 国产一区在线观看视频| 亚洲免费三区一区二区| 精品日韩在线一区| 欧美日韩久久久| 成人动漫一区二区| 国产91精品一区二区| 日本不卡不码高清免费观看| 亚洲精品中文字幕乱码三区| 精品国免费一区二区三区| 91国产视频在线观看| 国产精品 欧美精品| 国产一区二区三区香蕉 | 一本色道综合亚洲| 成人网男人的天堂| 高清av一区二区| 成人性生交大片免费看中文| 国产一区二区网址| 国产在线视频精品一区| 精品一区二区三区免费| 精品一区二区三区在线播放| 精品在线免费视频| 国产乱对白刺激视频不卡| 久久成人免费网| 国产精品自在在线| 成人高清av在线| 91国产免费看| 日韩视频一区二区三区在线播放| 欧美色视频在线| 欧美一级片在线观看| 2023国产精华国产精品| 久久午夜电影网| 中文字幕一区二区三区四区不卡 | 久久久久9999亚洲精品| 中文字幕不卡在线| 亚洲成人av资源| 久久国产精品第一页| 国产精品69久久久久水密桃| 成人一级片在线观看| 67194成人在线观看| 久久九九99视频| 亚洲一区二区精品3399| 紧缚奴在线一区二区三区| 日本高清免费不卡视频| 精品国产乱码久久久久久蜜臀| 国产精品色眯眯| 美女诱惑一区二区| 色综合久久久久| 2020国产精品自拍| 日韩精品五月天| 91久久线看在观草草青青| xfplay精品久久| 一区二区在线观看视频| 国产精品亚洲午夜一区二区三区| 欧洲亚洲国产日韩| 337p日本欧洲亚洲大胆色噜噜| 亚洲欧美日韩在线| 97精品国产露脸对白| 国产日本一区二区| 蜜桃传媒麻豆第一区在线观看| 在线看国产一区二区| 最新高清无码专区| a亚洲天堂av| 国产精品高潮呻吟| 成人黄色一级视频| 午夜精品久久久久久久久| 色婷婷狠狠综合| 亚洲一区在线看| 欧美疯狂做受xxxx富婆| 亚洲va欧美va人人爽| 在线综合亚洲欧美在线视频| 天堂在线亚洲视频| 欧美一二三在线| 国产大陆a不卡| 国产精品成人免费| 欧美日韩国产三级| 韩国毛片一区二区三区| 中文字幕精品三区| 91国偷自产一区二区开放时间| 一区二区三区四区国产精品| 欧美视频在线一区二区三区 | 91精品国产综合久久久久| 美女一区二区三区| 中文字幕一区二区三区四区| 在线观看精品一区| 国产精品资源在线看| 自拍偷自拍亚洲精品播放| 777久久久精品| www.爱久久.com| 日本不卡视频在线| 亚洲免费av高清| 久久久精品国产免费观看同学| 成人av资源站| 国产精品一区二区男女羞羞无遮挡 | 久久毛片高清国产| 欧美一区二区网站| 91女人视频在线观看| 国产一区二区看久久| 日韩中文字幕一区二区三区| 中文字幕欧美区| 国产三级欧美三级日产三级99 | caoporn国产精品| 国产一区二区三区黄视频| 日韩电影在线一区二区三区| 亚洲日本在线观看| 国产欧美日韩另类视频免费观看| 欧美日韩性生活| 69p69国产精品| 欧美一区二区二区| 日韩午夜激情av| 7777精品伊人久久久大香线蕉超级流畅 | 丝袜美腿亚洲一区二区图片| 国产女同互慰高潮91漫画| 久久人人97超碰com| 久久精品视频网| 国产精品久久久久久久久动漫| 久久精品日韩一区二区三区| 久久在线观看免费| 中文一区在线播放| 亚洲欧美日韩小说| 午夜精品福利在线| 久久99国产精品久久99果冻传媒| 麻豆精品视频在线观看免费| 精品一区二区三区欧美| 成人免费毛片app| 日本精品一级二级| 欧美一区二区三区免费在线看| 精品日韩欧美一区二区| 国产精品素人视频| 日韩av网站免费在线| 国产精品亚洲人在线观看| a级精品国产片在线观看| 欧美麻豆精品久久久久久| 久久一区二区视频| 一区二区三区国产精华| 久久狠狠亚洲综合| 在线免费亚洲电影| 日本一区二区三区电影| 视频一区中文字幕国产| www.欧美色图| 久久久www成人免费毛片麻豆| 一区二区三区四区精品在线视频| 久久99国产乱子伦精品免费|