【问题标题】:How can i replace the previously geocoded adress with a new adress inside the placemarks array?如何用地标数组中的新地址替换以前的地理编码地址?
【发布时间】:2018-02-20 16:31:58
【问题描述】:

我正在使用 QRCode 扫描仪,当扫描仪进行扫描时,它会检查 QRCode 中给出的位置是否靠近我当前的位置。如果是这样,如果没有给出错误消息,您可以继续。到目前为止,一切都很好。但问题是,当我尝试用不同的位置扫描第二个 QRCode 时,它​​仍然会将我当前的位置与之前扫描的 QRCode 的位置进行比较。 这是我到目前为止所做的:

这是地理编码部分:

           CLGeocoder().geocodeAddressString(self.qrbaradresse, completionHandler: { (placemarks, error) -> Void in

                if let placemark = placemarks?[0] {
                    let location = placemark.location
                    self.distanceCondition(locat: location!)
                }
            }

然后进入distanceCondition函数:

  func distanceCondition (locat: CLLocation){

    print(locat, "LOCAT")
    self.distancebar = (self.locationManager.location?.distance(from: locat))!
    print (distancebar, " entfernung")
    let distanceint = Int(distancebar)

    if distanceint < 50 {

        let alert = UIAlertController(title: "Erfolgreich", message: "Du bist bei \(self.qrbarname)!", preferredStyle: .alert)
        alert.addAction(UIAlertAction(title: "Weiter", style: .default, handler:{ (action) in self.performSegue(withIdentifier: "scansegue", sender: self)}))

        self.present(alert, animated: true, completion: nil)
    }else{

在 func distanceCondition 的第一行中,我总是打印已用于距离检查的位置。它始终是第一个被扫描的代码。变量位置永远不会改变。所以要明确我的观点。我想知道如何删除地标 [0] 并将其替换为新地址。 每次扫描代码时,它都会添加到数组地标中,但我总是检查位置 0 处的数组地标,并且变量位置始终保持不变。但是如何用数组地标位置 0 中的地址替换新扫描的地址?

泰!

【问题讨论】:

  • “我认为...”首先检查您的场所。在您调用 geocodeAddressString 的位置放置一个断点,并检查您是否提供了正确的 QR 码。在 completionHandler 中放置一个断点,然后检查地标中返回的内容。
  • 在 func distanceCondition 的第一行中,我总是打印已用于距离检查的位置。它始终是第一个被扫描的代码。变量位置永远不会改变。所以要明确我的观点。我想知道如何删除地标[0] 并将其替换为新地址。
  • 您还没有检查您的场所。验证您将正确的地址字符串提供给geocodeAddressString。当它返回时,验证地标数组中的实际内容。还要检查error 参数。如果您输入了正确的地址字符串,那么geocodeAddressString 应该会返回正确的地标(假设 Apple 可以解析地址)。

标签: ios swift geocoding


【解决方案1】:

当您扫描新的二维码时,检查并查看您是否正在更新 self.qrbaradresse。您应该为每次调用 geocodeAddressString 获得一个新的 CLPlacemark 数组。

【讨论】:

    猜你喜欢
    • 2021-07-19
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    相关资源
    最近更新 更多