php – 谷歌地图infowindow没有显示在使用VichGeographicalBundle的Symfony2点击
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 谷歌地图infowindow没有显示在使用VichGeographicalBundle的Symfony2点击,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2638字,纯文字阅读大概需要4分钟。
内容图文
![php – 谷歌地图infowindow没有显示在使用VichGeographicalBundle的Symfony2点击](/upload/InfoBanner/zyjiaocheng/770/0e765c7c8bfe4e73988b98ee0f94d669.jpg)
我已成功设置VichGeographicalBundle以在Google地图中显示一堆地点.一切正常,除了点击时没有显示的信息窗口.
$这 – > setShowInfoWindowsForMarkers(真);设置但似乎不起作用.
有任何想法吗 ?
编辑:
class allShopsMap extends Map
{
/**
* Constructs a new instance of LocationMap.
*/
public function __construct(EntityManager $em)
{
parent::__construct();
// configure your map in the constructor
// by setting the options
$this->setShowZoomControl(true);
$this->setZoom(13);
$this->setAutoZoom(false);
$this->setContainerId('map_canvas');
$this->setWidth(980);
$this->setHeight(360);
$this->setShowInfoWindowsForMarkers(true);
$this->setCenter(23.232323,23.232323);
$this->setShowMapTypeControl(true);
$query = $em->createQuery("SELECT st
FROM acme\ShopBundle\Entity\Shop sh
WHERE sh.published = 1 ");
$shops = $query->getResult();
foreach ($shops as $shop) {
$this->addMarker(new MapMarker($shop->getLatitude(), $shop->getLongitude(),$icon='images/map_marker.png'));
}
}
}
从树枝模板调用:
{{ vichgeo_map('allShops') }}
config.yml
vich_geographical:
db_driver: orm
query_service: vich_geographical.query_service.default
map_renderer: vich_geographical.map_renderer.google
templating:
engine: twig
info_window: msgrShopBundle:Map:infoWindow.html.twig
services:
msgr.map.allShops:
class: msgr\ShopBundle\Map\allShopsMap
tags:
- { name: vichgeo.map, alias: allShops }
arguments:
entityManager: "@doctrine.orm.entity_manager"
由{{vichgeo_map(‘allShops’)}}生成的HTML代码:http://pastebin.com/jqvzG67N
解决方法:
试试这个:
class allShopsMap extends Map
{
/**
* Constructs a new instance of LocationMap.
*/
public function __construct(EntityManager $em, $infoWindowBuilder)
{
parent::__construct();
// configure your map in the constructor
// by setting the options
$this->setShowZoomControl(true);
$this->setZoom(13);
$this->setAutoZoom(false);
$this->setContainerId('map_canvas');
$this->setWidth(980);
$this->setHeight(360);
$this->setShowInfoWindowsForMarkers(true);
$this->setCenter(23.232323,23.232323);
$this->setShowMapTypeControl(true);
$query = $em->createQuery("SELECT st
FROM acme\ShopBundle\Entity\Shop sh
WHERE sh.published = 1 ");
$shops = $query->getResult();
foreach ($shops as $shop) {
$marker = new MapMarker($shop->getLatitude(), $shop->getLongitude(),$icon='images/map_marker.png');
$marker->setInfoWindow($infoWindowBuilder->build($marker));
$this->addMarker($marker);
}
}
}
infoWindowBuilder是容器中可用的vich_geographical.info_window_builder服务.
并修改您的配置:
services:
msgr.map.allShops:
class: msgr\ShopBundle\Map\allShopsMap
tags:
- { name: vichgeo.map, alias: allShops }
arguments:
entityManager: "@doctrine.orm.entity_manager"
infoWindowBuilder: "@vich_geographical.info_window_builder"
内容总结
以上是互联网集市为您收集整理的php – 谷歌地图infowindow没有显示在使用VichGeographicalBundle的Symfony2点击全部内容,希望文章能够帮你解决php – 谷歌地图infowindow没有显示在使用VichGeographicalBundle的Symfony2点击所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。