【发布时间】:2017-04-24 21:19:26
【问题描述】:
我想显示我从当前位置到另一点的总距离,并且我想在 Annotation 的副标题中显示距离。
这是我的代码,但它不起作用:
func shopDeal () {
var inKm = ""
let locationsq =
[["title": "Shop Deal","subtitle": "\(inKm) km", "latitude": 31.352792, "longitude": 74.253201],
["title": "Shop Deal", "subtitle": "\(inKm) km", "latitude": 31.403563, "longitude": 74.258200]]
// Span
for location in locationsq {
let annotation = MKPointAnnotation()
annotation.title = location["title"] as? String
annotation.subtitle = location["subtitle"] as? String
annotation.coordinate = CLLocationCoordinate2D(latitude: location["latitude"] as! Double, longitude: location["longitude"] as! Double)
mapView.addAnnotation(annotation)
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let myCurrentLoc = locations[locations.count - 1]
let coor1 = CLLocation(latitude: annotation.coordinate.latitude, longitude: annotation.coordinate.longitude)
let coor2 = CLLocation (latitude: myCurrentLoc.coordinate.latitude, longitude: myCurrentLoc.coordinate.longitude )
let distanceInMeters:CLLocationDistance = coor1.distanceFromLocation(coor2)
inKm = String(format: "%.2f", distanceInMeters / 1000)
print("\(inKm) km")
}
}
mapView.delegate = self
}
非常感谢任何帮助。提前致谢
【问题讨论】:
-
您想计算两个位置(即 LAT 和 LONG)的距离吗?
-
是的......但基本上我希望距离会显示在注释的副标题上......
标签: ios swift mkmapview mapkit core-location