Получить местоположение пользователя с Javascript - PullRequest
0 голосов
/ 18 мая 2019

Я хочу получить адрес текущего местоположения пользователя (город, улица и т. Д.) По событию клика.

Я пробовал геолокацию html5 и пытался утешить данные.при нажатии кнопки я проверяю, что географическое местоположение поддерживается созданием окна предупреждения, и оно успешно выполняется, но не выводит никаких значений в консоли.

HTML

<div id="navbar"><span> Geolocation API</span></div>
<div id="wrapper">
<button id="location-button">Get User Location</button>
<div id="output"></div>

Мой скрипт

  <script>
      $('#location-button').click(function(){

        if (navigator.geolocation) {  
         alert("it is supported");
            navigator.geolocation.getCurrentPosition(function(position){
              console.log(position);
              $.get( "http://maps.googleapis.com/maps/api/geocode/json?latlng="+ position.coords.latitude + "," + position.coords.longitude +"&sensor=false", function(data) {
                console.log(data);
              })
              var img = new Image();
              img.src = "https://maps.googleapis.com/maps/api/staticmap?center=" + position.coords.latitude + "," + position.coords.longitude + "&zoom=13&size=800x400&sensor=false";
              $('#output').html(img);
            });

        }
        else
        {
            console.log("geo location is not supported")
        }
      });
 </script>

Я хочу получить полный адрес местоположения пользователя.

Ответы [ 2 ]

1 голос
/ 22 мая 2019

Вы можете посетить этот пример jsfiddle , который демонстрирует ваш вариант использования.

Пожалуйста, обратите внимание, что не рекомендуется использовать веб-службу на стороне клиента, поскольку запросы веб-службы рекомендуется использовать для запросов на стороне сервера.

Как вы можете видеть ниже, я использовал Сервис геокодера вместо геокодирования веб-сервиса

geocoder.geocode( { 'location': pos}, function(results, status, infowindow) {
      if (status == 'OK') {
            console.log(results[0].formatted_address);
            infoWindow.setContent('Location found: '+ results[0].formatted_address);
            infoWindow.setPosition(pos);
            infoWindow.open(map);
      } else {
                console.log('Geocode was not successful for the following reason: ' + status);
      }
    });
0 голосов
/ 18 мая 2019

ты просто не можешь! Геолокация использует триангуляцию или GPS с мобильного телефона, и вы получите значения долготы и широты или даже IP-адрес, и вы получите ближайшее устройство распространения (не говорите правильное слово на английском языке). Очевидно, что для геолокации пользователь должен авторизовать его тоже. Так что если вы хотите адрес, проще всего спросить по форме. Вы можете использовать карту, связанную с сопоставлением долготы и широты, но это будет трудоемким делом, потому что вы должны использовать все карты и места на земле, связанные с ее использованием таким образом.

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