Removing a Google maps Circle/shape
I 开发者_开发技巧am creating a Circle using the google.maps.Circle() method. This all works fine and dandy, but how can I remove said circle?
My code:
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);
You need to call the setMap method on the Circle object to null:
cityCircle.setMap(null);
To remove a circle from the map, call the setMap()
method passing null
as the argument.
circle.setMap(null);
Note that the above method does not delete the circle. It simply removes the circle from the map. If instead you wish to delete the circle, you should remove it from the map, and then set the circle itself to null
.
https://developers.google.com/maps/documentation/javascript/shapes#circle_remove
You need to remove events listeners too, not just hiding the circle, in-fact circle.setMap(null)
will just hide the circle
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);
}
Google Maps API has been updated. You can now directly use the following code :
circle.remove();
精彩评论