如何在swift 3.0中计算用户从当前位置行进的距离

Posted

技术标签:

【中文标题】如何在swift 3.0中计算用户从当前位置行进的距离【英文标题】:How to calculate the distance travelled by user from current location in swift 3.0 【发布时间】:2017-07-03 04:38:01 【问题描述】:

我正在使用 UImapkit 和核心定位框架 我将如何获得总折线距离和行驶时间

这是我的代码

func locationManager(_ manager: CLLocationManager!, didUpdateToLocation newLocation: CLLocation!, fromLocation oldLocation: CLLocation!) 



      if let oldLocationNew = oldLocation as CLLocation?
        let oldCoordinates = oldLocationNew.coordinate


        let newCoordinates = newLocation.coordinate
        var area = [oldCoordinates, newCoordinates]
        print(area)
        let polyline = MKPolyline(coordinates: &area, count: area.count)
        mkMapView.add(polyline)


    

//calculation for location selection for pointing annoation
    if (previousLocation as CLLocation?) != nil

        if previousLocation.distance(from: newLocation) > 10 
            addAnnotationsOnMap(newLocation)
            previousLocation = newLocation
        
    else
        //case if previous location doesn't exists
        addAnnotationsOnMap(newLocation)
        previousLocation = newLocation
    

【问题讨论】:

【参考方案1】:

您可以使用CLLocation 计算两个位置之间的距离。

let distance = newLocation.distance(from: oldLocation)

计算出距离后,使用速度距离时间公式即可轻松计算行程时间

 speed = distance / time

因为你知道距离,如果你假设速度,你可以计算旅行所花费的时间

 time = distance / speed

希望这些东西对你有帮助。

【讨论】:

以上是关于如何在swift 3.0中计算用户从当前位置行进的距离的主要内容,如果未能解决你的问题,请参考以下文章

计算行程时间 CLLocation Swift

如何在iphone上的地图中获取当前位置

iOS / Swift 3.0:如何确定 UITableView 中当前可见的行?

如何使用谷歌地图计算用户行进的准确距离?

谷歌地图 - 如何找出用户的位置并在 Swift 中显示从该位置到目的地点的路线?

对 Swift 3.0 的领域支持