3 回答

TA貢獻1794條經驗 獲得超8個贊
不,實際上沒有其他方法:如果您有很多位置,并希望在地圖上顯示它們,最好的解決方案是:
創建位置后,使用地理編碼器獲取緯度+經度
將這些存儲在數據庫中,以及地址旁邊
并在顯示地圖時使用存儲的緯度和經度。
當然,這是因為考慮到與位置咨詢相比,您對位置的創建/修改要少得多。
是的,這意味著您在保存位置時必須做更多的工作-但這還意味著:
您將可以按地理坐標進行搜索
即“ 我想要一個列表,這些列表是我現在所在的位置附近 ”
顯示地圖會更快
即使上面有20多個位置
哦,還有(最后但并非最不重要):這將起作用;-)
您不太可能在N秒內達到X個地理編碼器調用的限制。
而且您不太可能達到每天Y個地理編碼器通話的限制。

TA貢獻1865條經驗 獲得超7個贊
實際上,您不必為每個請求都等待一秒鐘。我發現,如果我在每個請求之間等待200毫秒,就可以避免OVER_QUERY_LIMIT響應,并且用戶體驗是可以通過的。使用此解決方案,您可以在4秒鐘內加載20個項目。
$(items).each(function(i, item){
setTimeout(function(){
geoLocate("my address", function(myLatlng){
...
});
}, 200 * i);
}

TA貢獻1829條經驗 獲得超7個贊
不幸的是,這是對Google地圖服務的限制。
我目前正在使用地理編碼功能開發應用程序,并且正在按用戶保存每個唯一地址。我根據Google地圖返回的信息生成地址信息(城市,街道,州等),然后將緯度/經度信息也保存在數據庫中。這樣可以避免您重新編碼內容,并為您提供格式正確的地址。
您要執行此操作的另一個原因是,每天對可以從特定IP地址進行地址解析的地址數量有限制。您不希望因此而導致應用程序失敗。
添加回答
舉報