CLPlacemark 位置也提供地区信息,为什么?

CLPlacemark location gives district info too, why?

我只需要客户最近所在的城市信息,不需要地区。知道如何避免吗?

pm.locality returns: Budapest VII. kerület, 我希望只有 Budapest.

func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) {

        CLGeocoder().reverseGeocodeLocation(locations.first as CLLocation, completionHandler: {placemarks, error in

            let pm = placemarks.first as CLPlacemark

I would expect

这就是你的问题所在。通过反向地理编码获得的 CLPlacemarks 以 他们 对它们进行分类的方式对其片段进行分类,而不是 期望的方式。

所以这里的解决方案是停止期待并开始处理地标,这样您就可以获得想要的结果。例如,尝试提取地标的 addressDictionary 并查看是否可以更轻松地使用其分类。

此外,请尝试检查地标的其他属性。也许它的 sublocality 更接近您的期望。或者可能是其他 属性.