簡體   English   中英

Openlayers,JavaScript

[英]Openlayers, javascript

我已經使用以下openlayers創建了線串:

$.each(coords, function(a){
                    console.log("entered coords:"+coords[a][0]+"//"+coords[a][1]);
                    webcentre.lat = coords[a][0];
                    webcentre.lon = coords[a][1];
                    mapref.panTo(webcentre);
                    var c = new openlayer.LonLat(coords[a][1], coords[a][0]),
                    e = new openlayer.Size(40, 70),
                    f = new openlayer.Pixel(-(e.w / 2), -e.h + e.h / 4),
                    g = new openlayer.Marker(c, new openlayer.Icon(l_wb1(coords[a][2]), e, f));
                    var startPt=new openlayer.Geometry.Point( coords[a][1], coords[a][0]);

                    if(a<(coords.length-1)){
                    //alert("a is less than coords length:::" +a);
                    endPt=new openlayer.Geometry.Point(coords[a+1][1],coords[a+1][0]);
                    }else {
                    //alert("a is greater than coords length");
                    endPt=new openlayer.Geometry.Point(coords[a][1],coords[a][0]);
                    }

                    console.log("startPt:"+startPt+"endPt:"+endPt);
                    line=new openlayer.Geometry.LineString([startPt, endPt]);
                    style={strokeColor : "red",
              fillColor : "black",
              pointRadius : 15,
              fillOpacity : 0.5,
              strokeWidth: 2,
              lineSymbol:"farrow",
                lineSymbolRadius:7,
                lineSymbolReverse:0,
                lineSymbolRepeat:0,
                lineSymbolOffset:0,
                lineSymbolStrokeWidth:2,
                lineSymbolStrokeColor:"green",
                lineSymbolFillColor:"green"};
                fea=new openlayer.Feature.Vector(line, {}, style);
                w = new openlayer.Layer.Vector(
                "Trace Layer",  {
                        styleMap: F
                }); 
                w.addFeatures([fea]);
                mapref.addLayer(w);
                    var dd1=[];
                    dd1.push(coords[a][1]);
                    dd1.push(coords[a][0]);
                    dd.push(dd1);
                    return s.addMarker(g), g


                });

現在,當我單擊清除按鈕時刪除功能時,標記將被刪除,但不會刪除線串。

$.publish("clearHighlight", [l_maprefname]), s1 && (mapref.removeLayer(s1), s1 = void 0)
            w && w.removeAllFeatures();

我嘗試使用removeFeatures(),destroy(),removeLayer()。 但是沒有任何效果。

請幫忙。

使用以下代碼從Vector w中刪除行vector fea:

w.removeFeatures(fea);

http://dev.openlayers.org/docs/files/OpenLayers/Layer/Vector-js.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM