Javascript 删除谷歌地图圆形/形状
我正在使用google.maps.Circle()方法创建一个圆。这一切都很好,但我怎样才能消除这个循环呢 我的代码: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
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将起作用。如何删除所有图形或多个圆。。?