我正在基于Symfony2的一个项目。我正在使用IvoryGoogleMapBundle捆绑包来生成Google Maps。对于地图,我需要将其以当前用户坐标为中心。
为此,我想使用Geolocation HTML5 API,而不是服务器端解决方案。
在捆绑包的文档中,没有针对这种情况的解决方案。
将此功能添加到由IvoryGoogleMap生成的google地图的一种优雅方法是什么?
我们使用服务来生成它。但是地图的基本设置非常简单。
/** var \Ivory\GoogleMapBundle\Model\MapBuilder $map */
$map = $mapBuilder->build();
// any additional config goes here.
// make sure you set the Javascript Variable name like so:
$map->setJavascriptVariable('your_awesome_map');
{{ google_map_container(map) }}
{{ google_map_js(map) }}
设置一个javascript
文件,并将其包含在您的模板中。在该文件中,您现在可以执行以下操作:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(updateMap, error);
}
function updateMap(position) {
// location determined
}
position
包含当前位置,如下所示:
position.coords.latitude, position.coords.longitude
使用它,例如将地图居中放置。您可以通过Javascript变量访问在服务中生成的地图your_awesome_map
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句