Как я могу получить HTML-код маркера карт Google? - PullRequest
2 голосов
/ 30 июля 2010

Как получить HTML-элемент из маркера Google maps (v3)?

<div style="overflow-x: hidden; overflow-y: hidden; position: absolute; background-image: url(...); top: 62px; width: 70px; height: 70px; background-size:  ; left: 924px; z-index: 97; opacity: 0,01; cursor: pointer; background-position: 0px -420px; background-repeat: no-repeat no-repeat; " title=""></div>

Вот все маркеры map.getPanes().overlayImage; Но я не знаю, какой ребенок мой маркер ...

1 Ответ

5 голосов
/ 05 августа 2010

Вы можете присвоить уникальный идентификатор атрибуту заголовка каждого маркера, а затем выполнять поиск по всем маркерам, пока не найдете один с этим идентификатором

for (var marker in map.getPanes().overlayImage.getElementsByTagName("div")) {
  if (marker.title == "some_id") return marker;
}

В качестве последнего средства вы также можете использовать серверный скрипт для генерации уникальных идентификаторов на стороне клиента для каждого изображения. Ваш сервер вернет одно и то же изображение (значок вашего маркера) независимо от имени файла (т.е. mysite.com/marker/De4gy.png). Затем вы можете сканировать DOM в поисках DIV, которые содержат этот URL в своих атрибутах стиля. Обратите внимание, что это может ухудшить производительность, поскольку маркеры больше не будут кэшироваться.

Обратите внимание, что изменение способа добавления маркеров в DOM с помощью API, скорее всего, нарушит все вышеперечисленное.

...