首页 > 解决方案 > Swift 如何修复 geocodeAddressString 不匹配的地址

问题描述

我想根据给出的地址缩放地图视图Mapview并使用

   let geocoder = CLGeocoder()
    var regionInMeterForList : Double = 7500

    geocoder.geocodeAddressString(address) {
            placemarks, error in
            let placemark = placemarks?.first
        
        print(self.address)
        let coordinates:CLLocationCoordinate2D = (placemark?.location!.coordinate)!

        let region = MKCoordinateRegion.init(center: coordinates, latitudinalMeters: regionInMeterForList, longitudinalMeters: regionInMeterForList)
        self.mapVieww.setRegion(region, animated: true)
        }

我正在从服务器获取地址,它有很多数据。我的问题是,如果地址与map地理编码不匹配,则无法找到坐标

例子:

假设我的地址"New York City"在 map 中,"New York"当程序尝试查找"New York City"坐标时,它的声明是这样的,它给出了错误:

optional(Error Domain=kCLErrorDomain Code=8 "(null)")

那么,如果地址与地图视图声明的地址不匹配,我该如何解决?或者是否有一种方法可以找到包含在提供地址中的可能地址?

标签: iosswiftmkmapviewgeocoding

解决方案


推荐阅读