Удаление карты Google Круг / форма - PullRequest
25 голосов
/ 19 мая 2011

Я создаю круг, используя метод 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);

Ответы [ 4 ]

69 голосов
/ 19 мая 2011

Вам необходимо вызвать метод setMap для объекта Circle для null:

cityCircle.setMap(null);
11 голосов
/ 04 ноября 2013

Чтобы удалить круг с карты, вызовите метод setMap(), передав в качестве аргумента null.

circle.setMap(null);

Обратите внимание, что вышеуказанный метод не удаляет кружок. Это просто удаляет круг с карты. Если вместо этого вы хотите удалить круг, вы должны удалить его с карты, а затем установить сам круг на null.

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

1 голос
/ 09 марта 2016

Вам нужно удалить и слушателей событий, не просто скрывая круг, фактически 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 голосов
/ 23 апреля 2019

API Карт Google обновлено.Теперь вы можете напрямую использовать следующий код:

circle.remove();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...