谷歌地图 - 如何以米为单位获得两点之间的距离?

IT技术 javascript google-maps google-maps-api-3
2021-02-16 01:45:59

我有这些坐标:

(45.463688, 9.18814) 
(46.0438317, 9.75936230000002)

我需要(我认为是 Google API V3)以米为单位获得这两个点之间的距离。我该怎么做?

6个回答

如果您想使用 v3 谷歌地图 API,这里有一个函数可以使用: 注意:您必须添加&libraries=geometry到您的脚本源

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=geometry"></script>

<script>
var p1 = new google.maps.LatLng(45.463688, 9.18814);
var p2 = new google.maps.LatLng(46.0438317, 9.75936230000002);

alert(calcDistance(p1, p2));

//calculates distance between two points in km's
function calcDistance(p1, p2) {
  return (google.maps.geometry.spherical.computeDistanceBetween(p1, p2) / 1000).toFixed(2);
}

</script>
正如评论所说://以公里为单位计算两点之间的距离
2021-04-25 01:45:59
这是否以英里或公里为单位返回值?
2021-04-27 01:45:59
我添加了用法示例,您需要传递 2 个坐标。它对我有用,返回 78.35
2021-05-10 01:45:59
请不要忘记将问题标记为已回答,以帮助将来的人们找到正确的答案。
2021-05-17 01:45:59
console.log(calcDistance("45.463688, 9.18814", "46.0438317, 9.75936230000002"));它返回 NaN 因为我们向calDistance. 努力做到console.log(calcDistance(45.463688, 9.18814, 46.0438317, 9.75936230000002));
2021-05-17 01:45:59

我认为您可以在没有任何特定 API 的情况下进行,并使用纯 Javascript 计算距离:

这个站点有关于地理计算的很好的信息和用于距离计算的 Javascript 示例。

好的,快速浏览一下 Google API 页面,您似乎可以通过以下方式完成:

  1. 调用 DirectionsService().route() 以获取带有路线的DirectionsResult
  2. 对于一条或每条路线,通过它的legs属性并计算距离总和
谢谢你的第一个链接。使用近似公式可以优化近距离的计算
2021-04-28 01:45:59

http://www.csgnetwork.com/gpsdistcalc.html

与编码无关 btw

如果您正在寻找一些代码,请编辑

计算谷歌地图V3中两点之间的距离

这主要是通过 google api 之外的数学完成的,因此除了找到正确的坐标之外,您不需要使用该 API。

知道这一点,这里有一个链接,指向先前回答的与 Javascript 相关的问题。

计算 2 个 GPS 坐标之间的距离

试试这个

 CLLocationCoordinate2D coord1;
 coord1.latitude = 45.463688;
 coord1.longitude = 9.18814;
 CLLocation *loc1  = [[[CLLocation alloc] initWithLatitude:coord1.latitude longitude:coord1.longitude] autorelease];

 CLLocationCoordinate2D coord2;
 coord2.latitude = 46.0438317;
 coord2.longitude = 9.75936230000002;
 CLLocation *loc2  = [[[CLLocation alloc] initWithLatitude:46.0438317 longitude:9.75936230000002] autorelease];

 CLLocationDistance d1 = [loc1 distanceFromLocation:loc2];
那是目标 C :) 问题是关于谷歌地图的 Javascript API
2021-04-18 01:45:59
请提供解释而不是“试试这个”。
2021-04-30 01:45:59
如何获得两点之间的路线距离,这只是给出了直接距离(在物理学文献中:位移),如何获得路径距离
2021-05-09 01:45:59