Поиск области получить координаты в быстром MKMapView

Как я могу получить координаты области и установить ее в центр обзора карты в быстром?

У меня есть этот код:

var address = "1 Steve Street, Johannesburg, South Africa"
var geocoder = CLGeocoder()
geocoder.geocodeAddressString(address, {(placemarks: [AnyObject]!, error: NSError!) -> Void in
if let placemark = placemarks?[0] as? CLPlacemark {
    self.mapView.addAnnotation(MKPlacemark(placemark: placemark))
}
})

Но это показывает точку с адреса, как я могу получить только область, то есть: Johannesburg и установить его в качестве основной области внимания на карте?

1 ответ

Решение

Метка имеет region свойство типа CLCircularRegion (подкласс CLRegion), который дает его координату центра и радиус в метрах.

Используя это с MKCoordinateRegionMakeWithDistanceВы можете создать MKCoordinateRegion установить вид карты region,

Пример:

var address = "Johannesburg, South Africa"
var geocoder = CLGeocoder()
geocoder.geocodeAddressString(address, {(placemarks: [AnyObject]!, error: NSError!) -> Void in
    if let placemark = placemarks?[0] as? CLPlacemark {

        if let pmCircularRegion = placemark.region as? CLCircularRegion {

            let metersAcross = pmCircularRegion.radius * 2

            let region = MKCoordinateRegionMakeWithDistance
                  (pmCircularRegion.center, metersAcross, metersAcross)

            self.mapView.region = region
        }

    }
})
Другие вопросы по тегам