计算 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中文网其他相关文章!