Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除谷歌地图圆形/形状_Javascript_Google Maps - Fatal编程技术网

Javascript 删除谷歌地图圆形/形状

Javascript 删除谷歌地图圆形/形状,javascript,google-maps,Javascript,Google Maps,我正在使用google.maps.Circle()方法创建一个圆。这一切都很好,但我怎样才能消除这个循环呢 我的代码: var populationOptionsAgain = { strokeColor: "#c4c4c4", strokeOpacity: 0.35, strokeWeight: 0, fillColor: "#ffffff", fillOpacity: 0.35, map: map, center: results[0].geometry.loca

我正在使用google.maps.Circle()方法创建一个圆。这一切都很好,但我怎样才能消除这个循环呢

我的代码:

var populationOptionsAgain = {
  strokeColor: "#c4c4c4",
  strokeOpacity: 0.35,
  strokeWeight: 0,
  fillColor: "#ffffff",
  fillOpacity: 0.35,
  map: map,
  center: results[0].geometry.location,
  radius: 40000
};
cityCircle = new google.maps.Circle(populationOptionsAgain);
您需要将Circle对象上的方法调用为null:

cityCircle.setMap(null);

要从映射中删除圆,请调用传递
null
作为参数的
setMap()
方法

circle.setMap(null);
请注意,上述方法不会删除圆。它只是将圆从地图上删除。如果您希望删除圆,则应将其从地图中删除,然后将圆本身设置为
null


您还需要删除事件侦听器,而不仅仅是隐藏圆圈,事实上
圆圈。setMap(null)
将只隐藏圆圈

function remove_circle(circle) {
    // remove event listers
    google.maps.event.clearListeners(circle, 'click_handler_name');
    google.maps.event.clearListeners(circle, 'drag_handler_name');
    circle.setRadius(0);
    // if polygon:
    // polygon_shape.setPath([]); 
    circle.setMap(null);
}

谷歌地图API已经更新。 您现在可以直接使用以下代码:

circle.remove();

@Neurofluxation没有问题:)一开始有点违反直觉(google maps v2采用了另一种方式),但我认为一旦你习惯了它,它实际上是有意义的。如何删除所有图形或多个圆..?赋值为null也不是“删除圆”,它只是重新分配引用的值。正确的说法是“丢失对圆对象的所有引用”。将所有引用设置为null将起作用。如何删除所有图形或多个圆。。?