Получение адреса из Google Map (обратное геокодирование) - PullRequest
0 голосов
/ 10 июля 2011

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

Я хочу показать карту Google в форме адреса, затем клиент найти свой адрес на карте и, наконец, адрес этой точки, полученный из карты Google.

Предлагает ли Google эту функцию?

Ответы [ 3 ]

2 голосов
/ 20 сентября 2011

Вы также можете проверить адрес по известным адресам доставки в пределах области.Эта база данных поддерживается USPS, который посещает (практически) каждый адрес каждый рабочий день.Используя веб-интерфейс API, вы можете запросить базу данных и либо получить автоматическое совпадение, либо получить список предлагаемых совпадений.Я знаю, что это не дает вам карту, но во многих случаях это может позволить вашим клиентам исправить свой адрес прямо на месте и может быть очень простым в применении и использовании.Некоторые сервисы предлагают реализацию Javascript, а также XML-хук в API.Если вы гуглите, поищите веб-службу проверки адреса или что-то подобное.

Я работаю в службе проверки адреса под названием smartystreets.

1 голос
/ 11 июля 2011

Да, этот сервис известен как обратное геокодирование .И это на самом деле довольно просто реализовать.Предполагая, что вы получаете значения lat и long из события щелчка на карте, например:

var map;
function initialize() {
  var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
  var myOptions = {
    zoom: 4,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

  google.maps.event.addListener(map, 'click', function(event) {
    getAddress(event.latLng);
  });
}

function getAddress(location latlng) {
 var geocoder;
  var map;
  var infowindow = new google.maps.InfoWindow();
  var marker;
  function initialize() {
    geocoder = new google.maps.Geocoder();

    var myOptions = {
      zoom: 8,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
  }
}
1 голос
/ 11 июля 2011

Взгляните на обратное геокодирование . Хотя ваш вопрос состоит из множества вопросов в одном, вы должны разбить его на более мелкие и задать их здесь.

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