我正在开发一个基于Symfony2的项目。我使用IvoryGoogleMapBundle捆绑包生成Google地图。对于地图,我需要它以当前用户坐标为中心。
为此,我想使用Geolocation HTML5 API,而不是服务器端解决方案。
在捆绑包的文档中,没有为此案例提供解决方案。
将此功能添加到使用IvoryGoogleMap生成的Google地图的优雅方式是什么?
答案 0 :(得分:3)
我们使用服务来生成它。但是地图的基本设置非常简单。
/** 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
访问您在服务中生成的地图。