【问题标题】:Google Maps API v3 remove all polylinesGoogle Maps API v3 删除所有折线
【发布时间】:2012-03-19 16:02:05
【问题描述】:

背景很少。我有一个导航设置,当您单击某个导航项时,它会在地图上创建markers。如果您单击不同的导航项,它会删除以前的 markers 并设置新的。

现在我正在与polylines 合作并尝试在这里与polylines 创建相同的概念,但是我遇到了困难。这是我所拥有的:

    // Global variable for array of lines
    var points= [];

设置我的积分。

    line1 = new google.maps.LatLng(line1Start, line1Finish);
    line2 = new google.maps.LatLng(line2Start, line2Finish);
    line3 = new google.maps.LatLng(line3Start,line3Finish);

    points.push(line1, line2, line3);

设置我的折线。

    var polyline = new google.maps.Polyline({
       path:points,
       strokeColor:"#FF0000",
       strokeOpacity:1.0,
       strokeWeight:2
    });

用线条初始化地图。

    polyline.setMap(map);

一切正常。线条被创建并显示在我的标记之间。现在让我们删除它们(或不...)

    function removeLines() {
      if (points) {
           points.length = 0;
      }
      points = [];
    }

removeLines() 在函数开始时被调用以清除它们,然后设置新的。这确实清除了我在点数组中的点,但是在地图本身上,polylines 仍然显示并且不会像我的标记那样消失。

什么给了?!

【问题讨论】:

    标签: google-maps google-maps-api-3 google-maps-markers polyline


    【解决方案1】:

    您必须执行polyline.setMap(null),这将从地图中删除该线。 Documentation.

    【讨论】:

    • 哇..我以前这样做过,但是我在 points 数组上循环并执行 points[i].setMap(null);显然,这需要在折线上而不是点数组上...... DUH。 +1 感谢您帮助我意识到这一点:)
    • 你是怎么得到它的?我尝试 line.setMap(null) 删除行,然后 line.setMap(this.map) 设置新行但不起作用。
    【解决方案2】:

    polyline 只是一个 LatLng 对象的数组,而不是单独的 Polylines。我认为您可能需要一个单独的折线数组,然后您可以循环将它们全部删除。创建一个全局数组线。

     var line = [];
     polyline = new google.maps.Polyline({
            path: points,
            strokeColor: "#FF0000",
            strokeOpacity: 1.0,
            strokeWeight: 2
        });
     line.push(polyline);
    

    现在您将所有折线对象推入数组线。您可以通过像这样循环使其不可见或将其从地图中删除:

    for (i=0; i<line.length; i++) 
    {                           
      line[i].setMap(null); //or line[i].setVisible(false);
    }
    

    【讨论】:

      猜你喜欢
      • 2010-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多