Получить адрес пользователя с помощью перетаскивания маркера на Google Maps - PullRequest
0 голосов
/ 28 августа 2018

У меня есть карта на моем веб-сайте, на которой я должен получить адрес пользователя, просто перетащив маркер в любое место на карте. Я успешно отобразил карту на своем веб-сайте. Но я понятия не имею, как показать этот маркер на карте, который можно перетащить и получить адрес пользователя. У меня есть ниже код карты, который получает адрес пользователя, нажав на карту. Спасибо.

<div id='map-canvas'></div>

var myLatlng = new google.maps.LatLng(latitude,longitude);
var myOptions = {
  zoom: 10,
  center: myLatlng
}

var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
var geocoder = new google.maps.Geocoder();

google.maps.event.addListener(map, 'click', function(event) {
  geocoder.geocode({
    'latLng': event.latLng
  }, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      if (results[0]) {
        alert(results[0].formatted_address);
      }
    }
  });
});

1 Ответ

0 голосов
/ 28 августа 2018

Вы должны добавить маркер и слушателя на конце перетаскивания

в этом примере в списке указывается конец, лат, lng и Performe geocode

<div id='map-canvas'></div>

var myLatlng = new google.maps.LatLng(latitude,longitude);
var myOptions = {
  zoom: 10,
  center: myLatlng
}

var map = new google.maps.Map(document.getElementById("map-canvas"), myOptions);
var geocoder = new google.maps.Geocoder();

var marker = new google.maps.Marker({
    position: myLatlng,
    map: map,
    draggable:true,
    title:"Drag me!"
});

marker.addListener('dragend', function(event)  {
    alert(event.latLng.lat() + ' ' +  event.latLng.lng());
    geocoder.geocode({
    'latLng': event.latLng
    }, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        if (results[0]) {
          alert(results[0].formatted_address);
        }
      }
    });
});


google.maps.event.addListener(map, 'click', function(event) {
  geocoder.geocode({
    'latLng': event.latLng
  }, function(results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
      if (results[0]) {
        alert(results[0].formatted_address);
      }
    }
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...