Ответ 1
Вам нужно вызвать метод setMap объекта Circle в значение null:
cityCircle.setMap(null);
Я создаю круг, используя метод google.maps.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);
Вам нужно вызвать метод setMap объекта Circle в значение null:
cityCircle.setMap(null);
Чтобы удалить круг из карты, вызовите метод setMap()
, передающий null
в качестве аргумента.
circle.setMap(null);
Обратите внимание, что вышеупомянутый метод не удаляет круг. Он просто удаляет круг с карты. Если вместо этого вы хотите удалить круг, вы должны удалить его с карты, а затем установить сам круг null
.
https://developers.google.com/maps/documentation/javascript/shapes#circle_remove
Вам нужно также удалить прослушиватели событий, а не просто скрыть круг, а на самом деле 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);
}