从谷歌地图获取地址(反向地理编码)

时间:2011-07-10 12:49:24

标签: google-maps e-commerce reverse-geocoding street-address

我有一个在线商店,人们购买产品,我们将产品发送到他们的地址,但有时客户输入错误的地址,我们找不到目的地。

我希望以地址形式显示Google地图,然后客户在地图上找到他们的地址,最后找到从Google地图获取的地址。

Google是否提供此功能?

3 个答案:

答案 0 :(得分:2)

您还可以根据区域内已知的可交付地址检查地址。该数据库由USPS维护,USPS每个工作日访问(实际上)每个地址。使用基于Web的API,您可以查询数据库并获得自动匹配或获取建议的匹配列表。我知道这不会为您提供地图,但在许多情况下,它可以让您的客户在现场更正其地址,并且可以非常容易地实施和使用。有些服务提供了Javascript实现以及API中的XML钩子。如果您正在使用Google搜索,请查找地址验证网络服务或类似内容。

我致力于一项名为smartystreets的地址验证服务。

答案 1 :(得分:1)

看一下reverse geocoding。虽然你的问题在一个问题上有很多问题,你应该将它分解为较小的问题并在这里问他们。

答案 2 :(得分:1)

是的,此服务称为reverse geocoding。 实际上它实现起来非常简单。假设您从地图点击事件中获得纬度和长值,如下所示:

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);
  }
}