Поиск области получить координаты в быстром 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
}
}
})