【问题标题】:geocodeAddressString not working for some addressesgeocodeAddressString 不适用于某些地址
【发布时间】:2014-09-30 06:22:42
【问题描述】:

我正在尝试将地址转换为受尊重的纬度和经度值,即地理编码。

来自谷歌的定义:

什么是地理编码?

地理编码是将地址(例如“1600 Amphitheatre Parkway, Mountain View, CA”)转换为地理坐标(例如纬度 37.423021 和经度 -122.083739)的过程,您可以使用它来放置标记或定位地图。

我正在使用 Swift 在 iOS 中尝试相同的方法。

我的代码运行良好。但有些地址没有转换成 lat、lng 值。我确信我正在搜索的地址是 100% 有效的。

这是我的代码

override func viewDidLoad() {
    super.viewDidLoad()


    var address = "Kloten Airport, Switzerland" // This Address not working
    var geocoder = CLGeocoder()
    geocoder.geocodeAddressString(address, {(placemarks: [AnyObject]!, error: NSError!) -> Void in
        if let placemark = placemarks?[0] as? CLPlacemark {


            let title = ABCreateStringWithAddressDictionary(placemark.addressDictionary, false)


            println(title);

            let location = CLLocationCoordinate2D(
                latitude: placemark.location.coordinate.latitude,
                longitude: placemark.location.coordinate.longitude
            )

        }

    })

}

我尝试使用不同的地址进行地理编码,例如 Houston USA(效果很好)、“Rautistrasse 12”(效果也很好),但是当我搜索地址 Kloten Airport, Switzerland 时,这对我不起作用。

iOS geocodeAddressString 中是否有任何错误,或者我做错了什么?

【问题讨论】:

    标签: ios iphone swift geocoding


    【解决方案1】:

    我认为您期望 iOS 地理编码的性能与 Google 的地理编码一样好。不过肯定不会。

    它不起作用,因为 Apple 的地理编码不如 Google 的地理编码。

    要明白我的意思,把

    瑞典克洛滕机场

    进入 iOS 地图应用程序。它什么也没给。将其放入 maps.google.com 即可看到机场。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    相关资源
    最近更新 更多