計算Google 地圖V3 中兩個標記之間的距離
確定Google 地圖V3 中標記所表示的兩個點之間的距離是一項常見任務開發商面臨的。本文提供了有效計算此距離的全面解決方案。
要計算距離,您可以利用半正弦公式。該公式準確地考慮了地球的曲率,從而實現可靠的距離計算。
實現涉及以下步驟:
將緯度和經度轉換為弧度:
var rad = function(x) { return x * Math.PI / 180; };
計算緯度和經度差異:
var dLat = rad(p2.lat() - p1.lat()); var dLong = rad(p2.lng() - p1.lng());
應用半正矢公式:
var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(rad(p1.lat())) * Math.cos(rad(p2.lat())) * Math.sin(dLong / 2) * Math.sin(dLong / 2); // Calculate the central angle var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); // Calculate the distance in meters var d = R * c; return d; // Distance in meters
用法範例:
var distance = getDistance(marker1, marker2);
此方法提供了一種穩健的方法計算Google 地圖 V3 上兩個標記之間的距離,使開發人員能夠準確顯示其地圖上位置之間的距離地圖。
以上是如何計算 Google 地圖 V3 上兩個標記之間的距離?的詳細內容。更多資訊請關注PHP中文網其他相關文章!