2010-04-09 51 views
1

我有套坐标的格式如下反向地理一组坐标

(-33.9,18.6)

我如何去获得的名称那些合作社最近的城镇或国家?我猜它会涉及Javascript,但是如果合适,我也很乐意使用PHP吗?

编辑:我试图Google Reverse Geocoder,但有麻烦。下面的代码与其中的一个例子非常相似,但似乎没有运行......任何想法为什么?

<script type="text/javascript" charset="utf-8"> 
      function reverseGeocode(lat,lon){ 

       var geocoder = new GClientGeocoder(); 
       var latlng = new GLatLng(lat, lon); 
       geocoder.getLocations(latlng, function(addresses) { 
        alert(addresses); 
       }); 

      } 
     </script> 
+0

你*正在*调用该功能,对吧? – mpen 2010-04-10 00:21:53

+0

是的,如果我在函数的第一行放一次alert(“test”),但是如果我把它放在var geocoder行之后,那么 – 2010-04-10 00:26:44

回答

0

好设法得到它的工作,所以这里就是我所做的:

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=INSERTAPIKEYHERE" type="text/javascript"></script> 
function reverseGeocode(latitude,longitude){ 

      var geocoder = new GClientGeocoder(); 
      var latlng = new GLatLng(latitude, longitude); 

      geocoder.getLocations(latlng, function(addresses) { 
       var address = addresses.Placemark[0].address; 
       var country = addresses.Placemark[0].AddressDetails.Country.CountryName; 
       var locality = addresses.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName; 

       alert(address); 
      }); 
     } 
0
+0

对你有没有什么经验?我试图以下但无济于事 <脚本类型= “文本/ JavaScript的” 字符集= “UTF-8”> \t \t \t \t功能reverseGeocode(LAT,LON){ \t \t \t \t \t \t \t \t \t \t var geocoder = new GClientGeocoder(); \t \t \t \t \t var latlng = new GLatLng(lat,lon); \t \t \t \t \t geocoder。的getLocations(经纬度,功能(地址){ \t \t \t \t \t \t警报(地址); \t \t \t \t \t}); \t \t \t \t \t \t \t \t \t} \t \t \t – 2010-04-10 00:16:06

0

你有没有注册为自己的API密钥?

也有任何具体的错误信息?

+0

是的,我使用谷歌的API,成功地获取用户的当前位置,但由于某种原因不能得到扭转地理位置 – 2010-04-10 00:27:59

1

谷歌有一个web服务,你可以打电话做(反向)地理编码,这是更为轻巧然后使用完整的JavaScript API。

与V2为例:http://maps.google.com/maps/geo?q=51,4&sensor=false&output=json&key=insert_your_api_key_here&callback=parseme

与V3: http://maps.google.com/maps/api/geocode/json?latlng=51,4&sensor=false&callback=parseme

在这两种情况下,你会得到一个JSON响应(JavaScript对象)

,所不同的是,在现在反对的V2,您需要提供你的api键,你可以使用一个回调(用于cross site ajax善良),这对于大声哭泣isn't supported in v3 any more(但你不需要api键)。

+0

谢谢,你冷也许给我看一些使用webservice的示例代码?我不知道该怎么做 – 2010-04-12 16:46:27

+0

我现在仍在进行的实验生活在http://futtta.be/checkRoam/ 它试图找到你的坐标(地理定位浏览器,html5)并使用它们来获取国家代码。随意查看源代码并复制/粘贴。 – futtta 2010-04-12 21:43:42