我想获得两个位置之间的距离。 我试过这段代码:快速计算两个位置之间的距离
func mapView(_ mapView: MKMapView, didUpdate userLocation: MKUserLocation) {
CLGeocoder().geocodeAddressString("ADDRESS OF LOC 2") { (placemarks, error) in
guard let placemarks = placemarks, let loc2 = placemarks.first?.location
else {
return
}
let loc1 = CLLocation(latitude: userLocation.coordinate.latitude, longitude: userLocation.coordinate.longitude)
var distance = loc1.distance(from: loc2)
print((distance/1000).rounded(), " km")
}
}
我的问题是,我得到一个错误的距离。 打印结果将是“2公里”
如果我计算出“地图”在同一地点之间的距离,我得到的长度“2,7公里”和“2.9公里”
两个Route选项我错了什么?
您没有发现任何问题,您只是通过使用四舍五入()方法丢弃了小数部分,即2.7公里变为2公里,因为您舍去了它! –
如果我这样做:'print(distance/1000)'结果将是:'1.74364568832' - 与2,7或2,9不一样:/ – Ghost108