я могу передать долготу и широту в вызове API Google Map JS? - PullRequest
0 голосов
/ 11 декабря 2018

Я использую Google Map JS API и хочу динамически передавать долготу и широту в вызове. Возможно ли это?

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

Есть ли способ передать долготу и широту в этом вызове и использовать их в функции карты инициализации?

Ответы [ 3 ]

0 голосов
/ 11 декабря 2018

Если вы хотите настроить лат и длинные звонки в URL-адресе, передайте их как параметры следующим образом:

...api/js?latlng=40.714224,-73.961452&client=%CLIEN_ID%&callback=initMap

Убедитесь, что в вашем латунге нет пробелов.

Источник: https://developers.google.com/maps/documentation/geocoding/intro#ReverseGeocoding

0 голосов
/ 11 декабря 2018

Я нашел способ сделать это правильно.Идея такова:

1 - поместите 2 скрытых входа в представление, причем значение первого будет содержать lng, а второе будет содержать лат.Я использую шаблонный движок smarty:

<input type="hidden" name="lng" id="lng" value="{$lng}">
<input type="hidden" name="lat" id="lat" value="{$lat}">

2 - вызовите карты js api как просто с помощью callback = initMap

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

3 - поместите вашу функцию initMap в jsфайл, и вы получите значения lng и lat из скрытых входных данных, используя jquery.

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
    });
}

И это сработало.

0 голосов
/ 11 декабря 2018

Как ты имеешь в виду?Вы устанавливаете lat и lng при настройке и инициализации карты, следующий код взят из кода разработчиков 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...