2014-12-05 28 views
0

我不確定Maps API是否有以下操作:我在本地數據庫中有地點列表。每個人的地址(街道,城市,州等),也可能與緯度/經度(如果需要,我可以檢索這些數據)。 我正在尋找一個解決方案,在谷歌地圖的網頁繪製的情況下,用戶輸入一個任意的地址,並得到哪個是從我本地數據庫最近的地方。使用Google Maps API從本地數據庫中搜索最近的地址

我知道我可以得到這個地址'經緯度和一些簡單的數學(畢達哥拉斯定理)我可以計算每個距離,但當駕駛需要知道距離時,這是不一樣的。

編輯:我發現這個解決方案https://developers.google.com/maps/articles/phpsqlsearch_v3,它看起來不錯。是最好的方法嗎?

+1

如果你在你的分貝中有你的位置的座標,那會很好。如果JSON可用(而且應該是),我會避免使用XML。您可以使用[Geometry Library](https://developers.google.com/maps/documentation/javascript/geometry)('computeDistanceBetween')計算距離*,或者使用距離矩陣(如在下面的答案中說明)是否可以保持在使用限制內。 – MrUpsidown 2014-12-05 15:17:45

+0

@MrUpsidown具有coords不是問題,它們將在json中(順便說一下,後端是使用mongodb的節點應用程序)。我已經寫了一些代碼來計算距離,它似乎是我的情況的一個很好的解決方案。謝謝! – 2014-12-10 15:00:33

回答

1

上述方法以半徑爲參數來搜索最近的位置。
而不是你可以簡單地得到一些最近的目的地,並通過起源和目的地谷歌方向API來獲取JSON或XML數據。
然後您可以從中提取駕駛距離。
請參閱以下鏈接瞭解詳情:https://developers.google.com/maps/documentation/directions/#JSON

2

您可以使用距離矩陣API:

Distance Matrix API Documentation

可以很容易地檢索與一個簡單的通話距離:

https://maps.googleapis.com/maps/api/distancematrix/output?parameters 

的響應採用JSON或XML格式,具體取決於您的選擇。但是單個查詢的元素數量有限制。您可以先用簡單的數學運算選擇具有恆定半徑的用戶周圍位置,然後在位置數足夠小以發送查詢時使用距離矩陣。

+0

謝謝,我不知道那個api。 – 2014-12-05 18:02:48

相關問題