我使用的是版本3 API,並且我有一個文本輸入,用戶輸入用於通過API進行地理編碼的搜索字符串。地圖更新並在結果匹配處放置標記。除少數情況外,這一切都可以正常工作。以下是代碼:Google Maps地理編碼API - 處理來自用戶的緯度/經度輸入
geocoder.geocode({
'address': address,
region: 'AU'
}, function(results, status) {
// do stuff with results
}
問題出在用戶輸入經緯度對的位置, 22°53'21"S, 118°28'36"E
。當座標位於農村地區時,返回的匹配不是輸入座標的精確表示,但似乎是Google的匹配地點的中心。例如。結果是-22.4951839, 118.73455850000005
。即,標記從用戶輸入的位置移開。
那麼,在用戶輸入lat/lng的情況下,如何防止這個局部匹配/居中?在這些情況下,我希望將標記放置在解析座標的緯度/經度座標上,而不是匹配地點的中心(但我想繼續使用API,因爲它處理/解析所有不同的緯度/經度格式,而我還存儲地點/地址信息)。
我寧願不 - 有很多lat/lng的格式,我更喜歡用Google的解析方式,就像我在問題中所說的那樣。例如。如果輸入lat/lng還指定了基準/座標系。 – nickdos 2012-02-14 02:35:42
你真的沒有選擇。如果你使用地理編碼器,它會以不同的方式解釋它,如果你分開解析它們,那麼你可以得到完全匹配。 – 2012-02-14 05:40:58
再次查看文檔後,我認爲你可能是對的。我希望有一些聰明的工作,我沒有想到... maps.google.com做到了「正確」的方式,但他們必須有特殊的代碼,通過API不可用。 – nickdos 2012-02-14 06:34:18