Показывать маркер карты Google в зависимости от того, на каком уровне масштабирования вы находитесь - PullRequest
3 голосов
/ 31 мая 2011

Мне интересно, можно ли установить маркеры так, чтобы они были видны при выбранном уровне масштабирования для
Google Map API v3.
Я полагал, что это возможно в v2 API, используя «Диспетчер маркеров», но не могу найти путь к последнему API.

Пример:
Маркер-1 -> (max_zoom: 10, min_zoom: 5) // будет отображаться в пределах уровня увеличения 5-10
Marker-2 -> (max_zoom: 15, min_zoom: 10) // будет отображаться в пределах уровня увеличения 10-15

Поскольку я разрабатываю плагин jQuery, я хочу использовать только оригинальный API без надстроек.

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 31 мая 2011

Вы можете использовать Marker Manager с API v3. В примерах, приведенных в http://google -maps-utility-library-v3.googlecode.com / svn / trunk / markermanager / , используется самый последний API Карт и они, похоже, работают нормально.

Другие параметры, такие как Marker Clusterer и Fusion Tables, см. http://code.google.com/apis/maps/articles/toomanymarkers.html.

Вы также можете сделать это, проверив уровень масштабирования и добавив / удалив маркеры с карты, основываясь на этом, как предложено @ lucke84 в их ответе.

2 голосов
/ 31 мая 2011

Предположим, карта - это объект, созданный для управления gmap, я бы сделал что-то вроде этого:

var zoomLevel =  map.getZoom();
if (zoomLevel>=5 && zoomLevel<=10) { 
     // call the setMarker function for the marker1
} else if (zoomLevel>10 && zoomLevel<=15) {
     // call the setMarker function for the marker2
}

Может быть, вы хотите обработать событие изменения масштаба, если это так, посмотрите на это: http://code.google.com/apis/maps/documentation/javascript/events.html

...