IvoryGoogleMap - невозможно отобразить информационное окно - PullRequest
1 голос
/ 05 сентября 2011

Я пытаюсь использовать IvoryGoogleMap для отображения простой карты с маркерами и информационными окнами, используя этот код:

$marker     ->setPosition($place->getLat(), $place->getLng());
$infoWindow ->setContent('<p>Default content</p>');
$marker     ->setInfoWindow($infoWindow);
$map        ->addMarker($marker);

и все, что я получаю, это карта с маркерами, но когда я нажимаю на одну из них, ничего не происходит. Ты хоть представляешь, что я делаю не так?

1 Ответ

1 голос
/ 07 сентября 2011

Хорошо, проблема решена. Вот решение от автора пакета egeloen (на github ):

=============================================== =======================

Эта функция изначально не существует. Если вы хотите открыть информационное окно с событием щелчка по маркеру, вам необходимо использовать сервис ivory_google_map.event. Этот сервис позволяет генерировать все события, которые вы хотите.

В вашем случае событие:

$clickEvent = $this->get('ivory_google_map.event');
$clickEvent->setInstance($marker->getJavascriptVariable());
$clickEvent->setEventName('click');
$clickEvent->setHandle(sprintf('function(){%s.open(%s, %s);}',
    $infoWindow->getJavascriptVariable(),
    $map->getJavascriptVariable(),
    $marker->getJavascriptVariable()
);

$map->getEventManager()->addEvent($clickEvent);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...