Любой простой способ очистить все маркеры, полилинии и другие наложения в API Google Maps v3?

Я хочу получить новую карту, не используя обновление веб-страницы.

спасибо

и есть простой способ получить все оверлеи на карте?


person zjm1126    schedule 14.07.2010    source источник


Ответы (3)


В API v2 был clearOverlays()< /a> метод как Габи указала. Однако этот метод отсутствует, если используется v3 API. Если я правильно помню, это упущение было преднамеренным, чтобы сделать библиотеку легковесной.

Таким образом, с API версии 3 вы должны сохранить ссылку на свои оверлеи, а затем вызывать setMap(null) для каждого оверлея.

person Daniel Vassallo    schedule 14.07.2010

К вашему сведению для людей, использующих V3: из того, что я нашел, V3 не имеет упакованной функции, такой как V2 в .clearOverlays();

Вот что я делаю (как я собрал из других ресурсов):

var gmarkers = []; // establish your markers array;

if (gmarkers) { // plug this in wherever/whenever you want to clear the map of any and all markers;
    for (i in gmarkers) {
        gmarkers[i].setMap(null);
    }
    gmarkers.length = 0;
}
person Marc    schedule 09.09.2011

Посмотрите документацию по API карт Google.

В частности: clearOverlays()

person Gabriele Petrioli    schedule 14.07.2010