gpt4 book ai didi

ios - Swift 3 中未计算距离

转载 作者:行者123 更新时间:2023-11-28 08:25:08 24 4
gpt4 key购买 nike

我正在尝试使用 CLLocationManager 计算行进距离并在标签内显示距离。请求使用位置有效,但标签中没有显示任何内容。我曾尝试在 xCode 模拟器中模拟驱动器,但无济于事。我在应用程序中显示了一张 map 并且可以使用,它可以跟踪我的位置,但仅此而已。

这是我的 locationManager 方法:

func locationManager(manager:CLLocationManager, didUpdateLocations locations:[AnyObject]) {

// Map

theLabel.text = "\(locations[0])"
myLocations.append(locations[0] as! CLLocation)

let spanX = 0.007
let spanY = 0.007
let newRegion = MKCoordinateRegion(center: theMap.userLocation.coordinate, span: MKCoordinateSpanMake(spanX, spanY))
theMap.setRegion(newRegion, animated: true)

if (myLocations.count > 1){
let sourceIndex = myLocations.count - 1
let destinationIndex = myLocations.count - 2

let c1 = myLocations[sourceIndex].coordinate
let c2 = myLocations[destinationIndex].coordinate
var a = [c1, c2]
let polyline = MKPolyline(coordinates: &a, count: a.count)
theMap.add(polyline)
}

// Labels

let latestLocation: AnyObject = locations[locations.count - 1]
lat.text = String(format: "%.4f", latestLocation.coordinate.latitude)
long.text = String(format: "%.4f", latestLocation.coordinate.longitude)
horizAcc.text = String(format: "%.4f", latestLocation.horizontalAccuracy)
altitude.text = String(format: "%.4f", latestLocation.altitude)
vertAcc.text = String(format: "%.4f", latestLocation.verticalAccuracy)

if startLocation == nil {
startLocation = latestLocation as! CLLocation
}

let distanceBetween = (latestLocation.distance(from: startLocation))

distance.text = String(format: "%.2f", distanceBetween)

}

非常感谢任何帮助!如果需要,我可以提供更多代码。

最佳答案

听起来您没有为 CLLocationManager 的实例正确设置委托(delegate)属性.您需要让它知道哪个对象包含您对 CLLocationManagerDelegate 的实现。方法,例如您列出的方法。

因此,假设您的 View Controller 符合 CLLocationManagerDelegate 并包含您发布的方法,并假设您已为 View Controller 提供名为“locationManager”的 CLLocationManager 属性,您只需设置像这样:

    self.locationManager.delegate = self
self.locationManager.startUpdatingLocation()

您可以将它放在 viewDidLoad: 或任何适合您需要的地方,并且应该调用您的 didUpdateLocation 委托(delegate)方法。

关于ios - Swift 3 中未计算距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40246458/

24 4 0
文章推荐: c++ - 对 `DhcpEnumSubnets' 的 undefined reference
文章推荐: Javascript 确认更改为 jquery 模式对话框
文章推荐: javascript - 对象 # 没有方法 'draggable'