【问题标题】:MapKit forward geocoding that is not based on ONLY addresses?不仅基于地址的 MapKit 转发地理编码?
【发布时间】:2021-05-11 00:37:46
【问题描述】:

于是我用 MapKit 做了一个超级简单的正向地理编码功能:

func getCoordinates(from address: String) {
    CLGeocoder().geocodeAddressString(address) { placemark, error in
        guard error == nil && placemark != nil else {
            return
        }
        for index in 0..<placemark!.count {
            let number = index + 1
            print("Location \(number): \(placemark?[index].location?.coordinate)")
        }
    }
}

现在有两件事:第一件事是(只是为了澄清),mapkit geocode 函数只返回输入字符串的最高命中,它不返回结果数组——有没有办法改变它?我注意到的第二件事是,此功能不适用于“兴趣点”位置 - 例如,如果您输入“McDonalds”作为字符串,则不会返回任何结果,因为从技术上讲它不是地址。有人有什么建议吗?

【问题讨论】:

    标签: swift coordinates mapkit geocode clgeocoder


    【解决方案1】:

    尝试改用MKLocalSearch

    let request = MKLocalSearch.Request()
    request.region = region
    request.naturalLanguageQuery =  "McDonalds"
    let search = MKLocalSearch(request: request)
    search.start { (response, error) in
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-26
      • 1970-01-01
      • 2021-07-19
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多