
输入
|
113
如果你想将米
/
秒转换成千米
/
小时,则可以这样做:
var kPH = location.speed * 3.6
如果要将米
/
秒转换成英里
/
小时,则可以这样做:
var mPH = location.speed * 2.236936
3.13
计算用户与目标的距离
问题
如何计算出用户距离某个地点有多远的距离?
解决方案
我们先假设已经知道用户的位置,用一个
CLLocation
对象表示。如果这个假设不
成立,请看本章
3.11
节。
然后我们再假设你拥有一个地点的经纬度坐标,这个坐标是你用于测量距离的目标。
通过上述条件,我们就可以计算出用户和目标点的距离:
var userLocation : CLLocation = ... //
用
Core Location
框架获得用户的坐标
var latitude : Float = ... //
目标地点的纬度
var longitude : Float = ... //
目标地点的经度
var otherLocation = CLLocation(latitude:latitude
longitude:longitude)
var distance = userLocation.distance(from: otherLocation)
讨论
CCLocation
的
distance(from:)
方法计算从这个
CCLocation
到另一个
CLLocation
的距离,单位是米。
注意,这个距离不是直线距离,而是计算了地球曲率之后的距离。此外还要注意, ...