我正在使用google.maps.Circle()方法创建一个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);
答案 0 :(得分:67)
您需要将Circle对象上的setMap方法调用为null:
cityCircle.setMap(null);
答案 1 :(得分:11)
要从地图中删除圆圈,请调用setMap()
方法作为参数传递null
。
circle.setMap(null);
请注意,上述方法不会删除圆圈。它只是从地图中删除圆圈。如果您希望删除圆圈,则应将其从地图中删除,然后将圆圈本身设置为null
。
https://developers.google.com/maps/documentation/javascript/shapes#circle_remove
答案 2 :(得分:1)
你也需要删除事件监听器,而不仅仅是隐藏圈子,事实上circle.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);
}
答案 3 :(得分:0)
Google Maps API已更新。 您现在可以直接使用以下代码:
circle.remove();