2010-04-09 50 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