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

Posted

技术标签:

【中文标题】在 Google Maps for Ionic 2 中计算两点之间的距离【英文标题】:Calculating distance between two points in Google Maps for Ionic 2 【发布时间】:2017-09-03 10:56:47 【问题描述】:

我在开始使用这个新功能时遇到了麻烦,我必须在我正在处理的应用程序上实现该功能。所以应用程序是这样工作的;用户通过按下按钮在地图上输入一个点并获得源的 latlng。另一个模式打开,然后他们必须为目的地做同样的事情。我想要做的是计算两点之间的距离并在地图上显示路线。我一直在尝试找到这方面的教程,但没有运气。任何人都知道如何做到这一点或有任何工作示例回购,我可以看看它?会有很大帮助。谢谢!

【问题讨论】:

使用 google maps api,您可以像通过 2 个位置一样简单地获得两点之间的距离。 两个位置作为 latlng 对象传递? api叫什么名字? 这是一个例子:maps.googleapis.com/maps/api/distancematrix/…。完整的文档在这里:developers.google.com/maps/documentation/distance-matrix/intro 【参考方案1】:

你见过吗:

https://***.com/a/27943/52160

 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)
    
  

【讨论】:

以上是关于在 Google Maps for Ionic 2 中计算两点之间的距离的主要内容,如果未能解决你的问题,请参考以下文章

Ionic 2 Angular 2 Google Maps 从数据库坐标中添加多个标记

Ionic 2 - Google Maps Native:标记点击事件未触发

Ionic 5 Google Maps 标记在缩放时闪烁

Ionic:新幻灯片(Swiper)+ angular-google-maps 在拖动时会导致灰色空间

Ionic2 Google Maps JS SDK 不适用于 Ionic View

在标记Ionic Google Maps JavaScript之间绘制折线