Добавить класс / идентификатор HTML в маркер Google Maps (API V3) - PullRequest
3 голосов
/ 24 октября 2010

Как добавить класс или идентификатор в маркер API Карт Google V3? Я хочу иметь возможность доступа к маркерам с помощью jQuery.

РЕДАКТИРОВАТЬ: Привет, Кларк, спасибо за ответ. Используя Firebug, я не могу видеть эти классы при проверке своей карты, но я заметил, что есть два элемента div. Один для значка и один для кнопки.

То, что я пытаюсь сделать, это: У меня есть список потерянных домашних животных, отображаемых на сайте, они также отображаются на карте. У каждого питомца в списке есть уникальный идентификатор, и я хочу, чтобы те, кто на карте, отражали этот идентификатор, используя класс, так как идентификатор должен быть уникальным, и на каждого питомца может быть несколько точек. Поэтому я ищу способ добавления класса в маркер карты. Таким образом, когда пользователь выбирает потерянного питомца из списка, он выделяет его на карте или наоборот.

Спасибо

Ric

Ответы [ 2 ]

0 голосов
/ 17 ноября 2010

Не удалось заставить это работать.Не уверен, что это возможно.Я взломал его, хотя мои маркеры хранились в массиве вместе с элементом, который я хотел с ними связать.Таким образом, я могу сказать, что если щелкнуть первый элемент, выделите маркер для первого элемента массива.Немного грубый, и он сломается, если системе понадобится несколько маркеров для одного элемента, но теперь это работает.Если вам интересно, о чем я говорю, это здесь: http://www.isabellevetslostpets.com/page/search-for-a-lost-pet

Поиск потерянных домашних животных и нажмите результат (к сожалению, никто не загружает фотографии!).Результаты хранятся в том же массиве (объект JSON, загруженный с помощью AJAX - Firebug, чтобы увидеть его) в качестве информации о маркере, поэтому я их связываю.

0 голосов
/ 24 октября 2010

После небольшого подталкивания я обнаружил, что все маркеры карты имеют класс gmnoprint (предполагается G oogle M aps Нет Печать ). Итак, я выполнил поиск карт для пиццы возле моего дома, и в окне консоли Chrome's Inspector I я:

> var list = document.getElementsByClassName('gmnoprint');
  [...] //length=37
> for ( var i = 0, item; item = list[i]; i++ ) { console.log(item.id); }
  //(11 items with no id)
  mtgt_A.1001
  mtgt_B.1001
  mtgt_C.1001
  mtgt_D.1001
  mtgt_E.1001
  mtgt_F.1001
  mtgt_G.1001
  mtgt_H.1001
  mtgt_I.1001
  mtgt_J.1001
  mtgt_A.1000
  map_overview
  //Irrelevant information...

Все видимые маркеры были в формате mtgt_[LETTER].1001. Цифровой суффикс, похоже, как-то связан с несколькими наборами буквенных маркеров (mtgt_A.1000 был скрытым маркером - может быть, место не было открыто или что-то в этом роде. Но все соответствующие маркеры следовали этой схеме. Итак, предположительно, вам следует возможность доступа к маркерам через jQuery с помощью $('#mtgt_[LETTER].1001') - опять же, в зависимости от вашего контекста, но, возможно, вы ищете

function getMarker(letter) {
    return $('mtgt_'+letter+'.1000');
}

В некотором роде, но я все еще не уверен, к чему ты клонишь.

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