Задать вопрос
@mrwitchdoctor

Нужно узнать адрес, по которому кликнул пользователь в Google Map?

Такая задача:
Когда пользователь кликает по карте, нужно вернуть полученный адрес.
Я смог получить координаты, но как перевести их в адрес- понять не могу.

Читал документацию Google API, но в силу того, что я тупенький, мало чего понял и не дошло до меня, как правильно делать запросы (

function initMap() {
        var map = new google.maps.Map(document.getElementById('map'), {
          center: {lat: 44.5452, lng: -78.5389},
          zoom: 9
        });

        map.addListener("click", function( latlng ) {
          var request = {
            location: latlng.latLng,
            query: 'A'
          };

          var service = new google.maps.places.PlacesService(map);
          service.textSearch(request, callback);

          document.getElementById('pops').setAttribute('src', 'https://maps.googleapis.com/maps/api/geocode/json?latlng=' + request.location.lat() + ',' + request.location.lng() + '&key=AIzaSyD5oJ7t1DjXJhtWlTuQlzSA63oIHrY5Lh4');

        });

        function callback(results) {
          var marker = new google.maps.Marker({
            map: map,
            place: {
              placeId: results[0].place_id,
              location: results[0].geometry.location,
            }
          });
        }
      }
  • Вопрос задан
  • 159 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mrwitchdoctor Автор вопроса
Помогли с решением. Если кому-то понадобится:

function initMap() {
        var map = new google.maps.Map(document.getElementById('map'), {
          center: {lat: 44.5452, lng: -78.5389},
          zoom: 9
        });

        map.addListener("click", function( latlng ) {

          var link = 'https://maps.googleapis.com/maps/api/geocode/json?latlng=' + latlng.latLng.lat()
              + ',' + latlng.latLng.lng() + '&key=AIzaSyD5oJ7t1DjXJhtWlTuQlzSA63oIHrY5Lh4';

          $.ajax({
            method: 'post',
            url: link,
            success: function(responce){
              console.log(responce.results[0]);
              /*
               * responce- это объект, нам нужно вернуть свойство, в котором 
               * содержится массив. Из массива выбираем 
               * первый элемент
               */
            },
          });
        });
      }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы