Доступ к объекту карты Google через API Gmaps4Rails - PullRequest
1 голос
/ 02 сентября 2011

Я успешно использую GMaps4Rails для рендеринга маркеров из модели Rails / Mongoid / Spacial, и я нахожу GMaps4Rails просто невероятно крутыми.

Тем не менее, одна вещь продолжает болтать в глубине моего сознания (хотя я заставил его работать нормально): во всех примерах и ответах я видел объект карты Google, к которому обращались через Gmaps4Rails.map, например,

google.maps.event.addListener(Gmaps4Rails.map, 'click', function(object){ 
  alert(object.latLng);
});

(взято из добавить маркер с помощью Google-Maps-for-Rails )

Тем не менее, я никогда не заставлял это работать. Если я регистрирую объект Gmaps4Rails.map на консоли, он не определен. Объект Gmaps.map имеет тип Gmaps4RailsGoogle, поэтому для перехода к реальной карте Google мне нужно написать, например,

google.maps.event.addListener(Gmaps.map.map, 'click', ...)

Я создаю карту с помощью

 = gmaps(:map_options => {"detect_location" => true, "center_on_user" => true, 
   "zoom" => 12})

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

Обновление : я должен был прочитать https://github.com/apneadiving/Google-Maps-for-Rails/wiki/From-0.x.x-to-1.x.x

1 Ответ

0 голосов
/ 02 сентября 2011

Я не вижу здесь никаких вопросов:)

Со времени выпуска 1.0.0 некоторые вещи изменились, так что да, вы находите устаревшие указания.Но вы нашли ответ, используя Gmaps.map.map.

Здесь:

  • Gmaps - это пространство имен, содержащее все карты, которые вы можете создать на своей странице

  • все контейнеры карт находятся по идентификатору, а идентификатор по умолчанию равен map (мне нравятся короткие выражения)

  • , чтобы получить объект карты из картыконтейнер, вы добавляете еще один .map (это немного раздражает, но я сохранил это, чтобы пользователи не рассердились)

Но все детали для перехода с 0.xx на 1.xxможно найти здесь (их мало).

...