删除Google地图圆形/形状

时间:2011-05-19 12:52:47

标签: javascript google-maps

我正在使用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);

4 个答案:

答案 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();