2013-07-11 104 views

回答

1

您可以使用GeoNames的FindNearestAddress

它需要一个纬度和经度参数,并以XML格式返回最近的地址。

从例如:

http://api.geonames.org/findNearestAddress?lat=37.451&lng=-122.18&username=demo 

<address> 
<street>Roble Ave</street> 
    <mtfcc>S1400</mtfcc> 
    <streetNumber>649</streetNumber> 
    <lat>37.45127</lat> 
    <lng>-122.18032</lng> 
    <distance>0.04</distance> 
    <postalcode>94025</postalcode> 
    <placename>Menlo Park</placename> 
    <adminCode2>081</adminCode2> 
    <adminName2>San Mateo</adminName2> 
    <adminCode1>CA</adminCode1> 
    <adminName1>California</adminName1> 
    <countryCode>US</countryCode> 
</address> 
</geonames> 
+0

你知道,如果有,可以给更紧密的地址的API源? – user2574350

+0

这就是我所知道的,对不起。 –

+0

感谢您的回答。 – user2574350

1
var geocoder = new google.maps.Geocoder();    // create a geocoder object 
var location = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); // turn coordinates into an object   
geocoder.geocode({'latLng': location}, function (results, status) { 
if(status == google.maps.GeocoderStatus.OK) {   // if geocode success 
var add=results[0].formatted_address;   // if address found, pass to processing function 
document.write(add); 

https://gist.github.com/marchawkins/9406213/download# 它的工作原理我