我正在通過Google Maps API(版本3)開發應用程序。如何通過Google Maps Javascript API3獲得2點之間的距離?
我有2 google.maps.LatLng
對象名爲loc1
和loc2
。
我如何計算他們之間的距離在說米?
我試過用這個question的各種技巧將緯度/經度測量轉換成米。但是,我質疑我的實施的可靠性。
我也嘗試過實現一個距離矩陣,但我認爲距離矩陣是很多工作只是爲了計算2點之間的距離。
謝謝!
我正在通過Google Maps API(版本3)開發應用程序。如何通過Google Maps Javascript API3獲得2點之間的距離?
我有2 google.maps.LatLng
對象名爲loc1
和loc2
。
我如何計算他們之間的距離在說米?
我試過用這個question的各種技巧將緯度/經度測量轉換成米。但是,我質疑我的實施的可靠性。
我也嘗試過實現一個距離矩陣,但我認爲距離矩陣是很多工作只是爲了計算2點之間的距離。
謝謝!
聽起來很簡單,我建議幾何庫,
https://developers.google.com/maps/documentation/javascript/reference#spherical
computeDistanceBetween(from:LatLng, to:LatLng, radius?:number)
從我的經驗,結果以米爲單位。請記住在標籤中添加可選的幾何庫
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?libraries=geometry&sensor=false">
</script>
謝謝你,'computeDistanceBetween'可靠地工作。 – dangerChihuahua007 2012-03-19 02:23:05
計算兩點之間的距離基本上歸結爲畢達哥拉斯(平方和等)。然而,這並不適用於Lon(它是球體上的座標)。我所做的是將Lat值轉換爲平坦的本地地圖網格。然後我可以使用pythagoras來計算這些點之間的距離。我已經在Stack Overflow here上發佈了這個消息。這將有你需要的所有代碼。
親愛的我。轉換爲(比如說)OSGB比使用正弦計算來獲得距離的工作量要大得多,正如幾何庫所做的那樣。使用幾何庫會使一切變得簡單 - 正弦波計算可能會非常棘手。 – 2012-03-18 20:12:27
基本上我的觀點是,一旦你完成了你的轉換,一切都是簡單的三角形幾何。通常在繪圖應用程序中,無論如何都需要將座標轉換爲本地地圖網格。是的,我的解決方案不涉及幾何庫。 – 2012-03-21 19:33:51
你的問題有點模棱兩可。
我的意思是 - 當你說的距離,也意味着在一條直線上
如果它是您需要的直線距離,那麼最好使用haversine實現。 否則,您需要向google方向服務請求方向,指定「運輸方式」。
Google的距離矩陣API應該有助於解決這個問題。它也考慮駕駛/步行距離。選中此鏈接https://developers.google.com/maps/documentation/distance-matrix/ – Sriram 2016-12-03 01:54:30
完成後,您可以使用提供的地圖在一條直線上測試distance between two points。它會給你一個視覺和距離。
這有幫助嗎? http://stackoverflow.com/questions/1502590/calculate-distance-between-two-points-in-google-maps-v3 – vascop 2012-03-18 19:06:08