¿Cómo obtener la aplicación Apple Maps (no MapKit) para agregar una anotación?
Es bastante fácil agregar unanotación a una vista de MapKit que esdentro de tu aplicación.
theMap: MKMapView!
let pa = MKPointAnnotation()
pa.title = "title!!" etc
theMap.addAnnotation(pa)
Pero, ¿cómo diablos haces que la aplicación Maps agregue una anotación?
A continuación, se explica cómo abrir la aplicación Mapas en una dirección determinada.
func appleMapApp() {
quickAddressText = "123 Smith St 90210"
let bottomText = "This shows at BOTTOM Of Maps App screen."
let g = CLGeocoder()
g.geocodeAddressString(quickAddressText) { placemarks, error in
if let found = placemarks?.first, let lok = found.location {
let p = MKPlacemark(coordinate: lok.coordinate, addressDictionary: nil)
let mapItem = MKMapItem(placemark: p)
mapItem.name = bottomText
mapItem.openInMaps(launchOptions: showing(location: lok))
}
}
}
// convenient function...
func showing(location: CLLocation, meters m: CLLocationDistance = 1000)->[String : Any]? {
let cr = MKCoordinateRegionMakeWithDistance(location.coordinate, m,m)
let options = [
MKLaunchOptionsMapCenterKey: NSValue(mkCoordinate: cr.center),
MKLaunchOptionsMapSpanKey: NSValue(mkCoordinateSpan: cr.span)
]
return options
}
Eso es genial, pero ¿cómo diablos pasas en unMKPointAnnotation
a la aplicación de Mapas real?
(Nuevamente, es fácil agregar una MKPointAnnotation en una vista de mapa dentro de su propia aplicación).
¿Algunas ideas? ¿Es realmente posible?