Получение координат из Google Maps для добавления в форму - PullRequest
0 голосов
/ 14 мая 2019

Я работаю над формой, в которой я хочу, чтобы пользователь вводил свое текущее местоположение, используя местоположение GPS на картах Google.Я прочитал документацию по API Карт Google, но все еще немного растерян, как интегрировать все это.Я был бы признателен за любую помощь, JS все еще довольно новый для меня, и это не было легко учиться.

Это код, который я использовал из API Карт Google.

  var map, infoWindow;
  function initMap() {
    map = new google.maps.Map(document.getElementById('map'), {
      center: {lat: 18.2208, lng: -66.5901},
      zoom: 7,
    });
    infoWindow = new google.maps.InfoWindow;

    // Try HTML5 geolocation.
    if (navigator.geolocation) {
      navigator.geolocation.getCurrentPosition(function(position) {
        var pos = {
          lat: position.coords.latitude,
          lng: position.coords.longitude
        };

        infoWindow.setPosition(pos);
        infoWindow.setContent('Localización encontrada.');
        infoWindow.open(map);
        map.setCenter(pos);
      }, function() {
        handleLocationError(true, infoWindow, map.getCenter());
      });
    } else {
      // Browser doesn't support Geolocation
      handleLocationError(false, infoWindow, map.getCenter());
    }
  }

  function handleLocationError(browserHasGeolocation, infoWindow, pos) {
    infoWindow.setPosition(pos);
    infoWindow.setContent(browserHasGeolocation ?
                          'Error: The Geolocation service failed.' :
                          'Error: Your browser doesn\'t support geolocation.');
    infoWindow.open(map);
  }
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAwnKnBH4qxyjHYkg3QlJP46-yG_o4QkSc&callback=initMap">
</script>

1 Ответ

0 голосов
/ 14 мая 2019

Трудно ответить на ваш вопрос, так как нам не хватает некоторой информации. Карты Google импортируются в ваш проект с помощью API геолокации? Вы можете создать аккаунт и сгенерировать ключ на https://console.cloud.google.com

После этого вам нужно вызвать initMap () после завершения загрузки страницы, добавив следующий код в конце вашего Javascript.

(function(){
    initMap();
}());

Теперь вы можете получить значение координат внутри вашей функции initMap и добавлять их везде, где они вам нужны, вызывая pos.lat и pos.lng.

infoWindow.setContent(pos.lat+' / '+pos.lng);

https://jsfiddle.net/SohRonery/q69ra78v/6/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...