我可以在Google map JS API调用中传递经度和纬度吗?

时间:2018-12-11 09:08:15

标签: javascript api google-maps

我正在使用Google map JS API,我想在调用中动态传递经度和纬度吗?

<script async defer 
    src="https://maps.googleapis.com/maps/api/js?client=%CLIEN_ID%&callback=initMap">
</script>

有什么办法可以在此调用中传递经度和纬度并在init map函数中使用它们?

3 个答案:

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