删除Google地图圆形/形状

问题描述 投票:25回答:4

我正在使用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);
javascript google-maps
4个回答
69
投票

您需要将Circle对象上的setMap方法调用为null:

cityCircle.setMap(null);

11
投票

要从地图中删除圆,请调用setMap()方法,将null作为参数传递。

circle.setMap(null);

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

https://developers.google.com/maps/documentation/javascript/shapes#circle_remove


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);
}

0
投票

Google Maps API已更新。您现在可以直接使用以下代码:

circle.remove();
© www.soinside.com 2019 - 2024. All rights reserved.