Swift从Zipcode获取城市

时间:2016-04-10 06:47:05

标签: swift cncontact

我有一个用户填写的注册表。我希望他们只需要输入他们的邮政编码,让我的程序能够推断他们的城市和状态,这样他们就不必手动编写这些文件/使用更少的输入字段来创建更清晰的界面。

我该怎么做?

3 个答案:

答案 0 :(得分:5)

您可以使用CoreLocation框架。将zipcode作为字符串,让框架采用最佳猜测或向用户提供猜测并让他们选择一个:

import UIKit
import CoreLocation

let zipCode = "1234AB"

let geocoder = CLGeocoder()
geocoder.geocodeAddressString(zipCode) {
    (placemarks, error) -> Void in
    // Placemarks is an optional array of CLPlacemarks, first item in array is best guess of Address

    if let placemark = placemarks?[0] {

        print(placemark.addressDictionary)
    }

}

请参阅CLGeoCoderCLPlaceMark

答案 1 :(得分:0)

**Not working. its not printing anything**

import UIKit
import CoreLocation

let zipCode = "1234AB"

let geocoder = CLGeocoder()
geocoder.geocodeAddressString(zipCode) {
    (placemarks, error) -> Void in
    // Placemarks is an optional array of CLPlacemarks, first item in array is best guess of Address

    if let placemark = placemarks?[0] {

        print(placemark.addressDictionary)
    }

}

答案 2 :(得分:-1)

您必须在应用中添加一个引用,该引用将城市与邮政编码相关联(硬编码或plist文件或核心数据)。然后在用户输入邮政编码时检索并显示信息。