2010-11-12 37 views
4

我正在使用JavaScript googlemap API。 我希望用戶定義一個城市名稱。然後我將名稱+座標存儲在數據庫中。Google Map API - 獲取有關座標的信息

這是很容易做到的,但問題是:

  • 如果用戶犯了一個錯誤(例如Paaris而不是巴黎),谷歌明白,但我不知道最終的名稱(正確的一個),所以我創建(或重新創建)數據庫中的錯誤條目。
  • 如果用戶輸入國家名稱,它可以工作,但我只想要城市。

所以我可以知道一個特定座標下的城市名稱嗎?同樣是國家嗎?我能否知道它下面是否沒有城市或國家? 您對我的問題有其他想法嗎?

謝謝!

回答

3

您不需要反向地理編碼。

使用Google的地理編碼器獲取城市的緯度/經度。谷歌將返回它在它的響應中發現的城市名稱:

這裏與巴黎解析請求拼寫錯誤: http://maps.googleapis.com/maps/api/geocode/json?address=Paaris&sensor=false

谷歌讓你在響應中的正確位置......

{ 
    "status": "OK", 
    "results": [ { 
    "types": [ "locality", "political" ], 
    "formatted_address": "Paris, France", 
    "address_components": [ { 
     "long_name": "Paris", 
     "short_name": "Paris", 
     "types": [ "locality", "political" ] 
    }, { 
     "long_name": "Paris", 
     "short_name": "75", 
     "types": [ "administrative_area_level_2", "political" ] 
    }, { 

所以......在一個城市

  • 您geoco

    1. 用戶類型使用Google的地理編碼服務
    2. 如果地理編碼成功,請從地理編碼響應中獲取實際城市,並將其添加到數據庫中,座標爲
    3. 如果地理編碼失敗,則會警告用戶。

    作爲中間步驟,您還可以檢查輸入的城市是否與找到的城市谷歌不同,並與用戶驗證。

  • +0

    請閱讀服務條款。您可能不允許存儲地理編碼結果。 – 2010-11-16 00:24:59

    3

    我覺得反向地理編碼是你在找什麼。你會發現通過協調here獲得國家,城市和其他地點的詳細信息。

    相關問題