2011-10-05 73 views
0

我的應用程序是一個php程序,我只有地址名稱,而不是地圖上的協調。但我發現google map API需要協調來固定地址。我該怎麼做?謝謝。我應該如何將Google地圖整合到我的應用程序中?

我有地址: '觀塘%20牛頭角%20創業街%202號%20美亞工業大廈%202%樓202A%20202室'。 它可以搜索,並在谷歌地圖應用針,但在使用谷歌的API做地理編碼我,它讓我ZERO_RESULT:

http://maps.googleapis.com/maps/api/geocode/json?address=%E8%A7%80%E5%A1%98%20%E7%89%9B%E9%A0%AD%E8%A7%92%20%E5%89%B5%E6%A5%AD%E8%A1%97%202%E8%99%9F%20%E7%BE%8E%E4%BA%9E%E5%B7%A5%E6%A5%AD%E5%A4%A7%E5%BB%88&sensor=false

+1

你正在尋找的過程稱爲地理編碼:http://code.google.com/apis/maps/documentation/geocoding/ –

+0

更新一些地理編碼問題的問題。 – DNB5brims

+0

固定與params,地區:香港。 – DNB5brims

回答

1

地址只是轉換成經/緯度第一。您可以使用javascript來完成此操作,也可以使用PHP(稍後將其緩存)。這裏是一個簡化的功能,爲你做

function postcode_to_latlon($postcode){ 

    $xml = simplexml_load_file('http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address='.$postcode); 

    $lat = $xml->result->geometry->location->lat; 
    $lon = $xml->result->geometry->location->lng; 

    return array($lat, $lon); 

} 

這個過程被稱爲地理編碼。

+0

但我得到了一些問題,例如,我嘗試這個地址轉換爲這樣的協調:http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address=%E8%A7%80 %E5%A1%98%20%E7%89%9B%E9%A0%AD%E8%A7%92%20%E5%89%B5%E6%A5%AD%E8%A1%97%202%E8 %99%9F%20%E7%BE%8E%E4%BA%9E%E5%B7%A5%E6%A5%AD%E5%A4%A7%E5%BB%88%202%E6%A8%93 %202A%20202%E5%AE%A4 – DNB5brims

+0

它什麼都沒發現,但是如果我粘貼谷歌地圖中的地址搜索,它可以固定地址,如下所示:http://maps.google.com/maps?q= %E8%A7%80%E5%A1%98%2520%E7%89%9B%E9%A0%AD%E8%A7%92%2520%E5%89%B5%E6%A5%AD%E8%A1 %97%25202%E8%99%9F%2520%E7%BE%8E%E4%BA%9E%E5%B7%A5%E6%A5%AD%E5%A4%A7%E5%BB%88%25202 %E6%A8%93%25202A%2520202%E5%AE%A4&HL = EN&即= UTF8&SLL = 0,0&SSPN = 141.573652,316.054688&vpsrc = 6&hnear =邁耶+工業+大廈+ 2 +創+業+ ST,+香+孔&T = M&Z = 16 – DNB5brims

+0

嘗試用http://where.yahooapis.com/geocode?q=your_addr&flags=J&gflags=R&appid=your_app_key。它返回lat:22.319700,lon:114.223427。但是你必須先創建一個應用程序密鑰。 –

0

地址不能被隨後找到。嘗試簡化地址或切換東西,這樣Google可能會更好地理解。同時檢查地址字符串中的錯誤。

+0

用參數固定,地區:香港。我認爲谷歌地圖網絡假設我的應用程序是使用隱藏區域香港。在我添加&region = HK之後,所有工作都像魔術一樣。 – DNB5brims

相關問題