2011-07-10 75 views
0

我有一个网上商店和人们购买产品,我们发送产品到他们的地址。 但有时客户输入一个错误的地址,我们找不到地址。 我想为客户展示Google地图,然后他们在地图上找到他们的地址并从Google地图中检索客户地址,并自动保存在购物卡中的地址中。
谷歌提供的功能?反向地理编码从Google地图获取地址?

我看到这个网站工作就像我想要的。 find Postal Address

回答

1

是的,这项服务被称为reverse geocoding。 它实际上很简单。假设你从地图点击事件得到lat和长值,就像这样:

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

感谢我的朋友 – Razavi

1

看看reverse geocoding。虽然你的问题在一个问题很多,你应该把它分解成小问题,并在这里问他们。

2

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

我为名为smartystreets的地址验证服务工作。

+0

非常感谢,可否给我一些样品,告诉我如何使用它? – Razavi

+2

当然,我们的[网站]上有一个演示和实施指南(http://www.smartystreets.com/Products/LiveAddress-API/)。 –