在Ionic 2中计算Google Maps上两点之间的距离

4
我正在实现一个新功能,但却遇到了麻烦。这个应用程序的工作方式是这样的:用户通过按下一个按钮在地图上输入一个点,并得到一个起点的latlng值。接着打开另一个窗口,然后他们必须为目标点做同样的操作。我想做的是计算两个点之间的距离,并在地图上显示一条路线。我一直在尝试找到关于此的教程,但没有成功。有人知道如何做或者有任何可供查看的工作示例库吗?这将非常有帮助。谢谢!

通过谷歌地图API,您可以轻松获取两个位置之间的距离,只需传递这两个位置即可。 - pinedax
两个位置作为latlng对象传递? API的名称是什么? - BleachedAxe
1个回答

6

你看过这个吗:

https://dev59.com/BHVD5IYBdhLWcg3wTJrF#27943

 function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) {
    var R = 6371; // Radius of the earth in km
    var dLat = deg2rad(lat2-lat1);  // deg2rad below
    var dLon = deg2rad(lon2-lon1); 
    var a =
        Math.sin(dLat/2) * Math.sin(dLat/2) +
        Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * 
        Math.sin(dLon/2) * Math.sin(dLon/2);
        var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
        var d = R * c; // Distance in km
        return d;
    }

    function deg2rad(deg) {
      return deg * (Math.PI/180)
    }
  }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接