IvoryGoogleMap - 无法显示infoWindow

时间:2011-09-05 18:35:33

标签: symfony

我正在尝试使用IvoryGoogleMap使用此代码显示带标记和infoWindows的简单地图:

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

我得到的只是带有标记的地图,但是当我点击其中一个时,没有任何反应。你知道我做错了什么吗?

1 个答案:

答案 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);