我正在尝试使用IvoryGoogleMap使用此代码显示带标记和infoWindows的简单地图:
$marker ->setPosition($place->getLat(), $place->getLng());
$infoWindow ->setContent('<p>Default content</p>');
$marker ->setInfoWindow($infoWindow);
$map ->addMarker($marker);
我得到的只是带有标记的地图,但是当我点击其中一个时,没有任何反应。你知道我做错了什么吗?
答案 0 :(得分:1)
好的,问题解决了。以下是bundle的作者 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);