我正在使用Google map JS API,我想在调用中动态传递经度和纬度吗?
<script async defer
src="https://maps.googleapis.com/maps/api/js?client=%CLIEN_ID%&callback=initMap">
</script>
有什么办法可以在此调用中传递经度和纬度并在init map函数中使用它们?
答案 0 :(得分:0)
我想出了一种正确执行此操作的方法。这个想法是:
1-在视图中放置2个隐藏的输入,第一个的值将包含lng,第二个值将包含经度。我正在使用smarty模板引擎:
<input type="hidden" name="lng" id="lng" value="{$lng}">
<input type="hidden" name="lat" id="lat" value="{$lat}">
2-只需使用callback = initMap
即可调用maps js API<script async defer
src="https://maps.googleapis.com/maps/api/js?client=%CLIEN_ID%&callback=initMap">
</script>
3-将initMap函数放在js文件中,您将使用jquery从隐藏的输入中获取lng和lat值。
function initMap() {
var longitude = $("#lng").val();
var latitude = $("#lat").val();
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: latitude, lng: longitude},
zoom: 8
});
}
它奏效了。
答案 1 :(得分:-1)
你是什么意思?您在设置和初始化地图时设置了纬度和经度,以下代码来自Google开发人员代码
<!DOCTYPE html>
<html>
<body>
<h1>My First Google Map</h1>
<div id="googleMap" style="width:100%;height:400px;"></div>
<script>
function myMap() {
var mapProp= {
center:new google.maps.LatLng(51.508742,-0.120850),
zoom:5,
};
var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_KEY&callback=myMap"></script>
</body>
</html>
答案 2 :(得分:-1)
如果您想在URL中设置经纬度和长期通话,请将其作为参数传递,例如:
...api/js?latlng=40.714224,-73.961452&client=%CLIEN_ID%&callback=initMap
确保您的行李箱中没有空格。
来源:https://developers.google.com/maps/documentation/geocoding/intro#ReverseGeocoding