Tengo latitud y longitud que quiero abrir en mi aplicación de mapas. Probé este código de AQUÍ .
func goToMap(){
var lat1 : NSString = self.venueLat
var lng1 : NSString = self.venueLng
var latitude:CLLocationDegrees = lat1.doubleValue
var longitude:CLLocationDegrees = lng1.doubleValue
var coordinate = CLLocationCoordinate2DMake(latitude, longitude)
var placemark : MKPlacemark = MKPlacemark(coordinate: coordinate, addressDictionary:nil)
var mapItem:MKMapItem = MKMapItem(placemark: placemark)
mapItem.name = "Target location"
let launchOptions:NSDictionary = NSDictionary(object: MKLaunchOptionsDirectionsModeDriving, forKey: MKLaunchOptionsDirectionsModeKey)
var currentLocationMapItem:MKMapItem = MKMapItem.mapItemForCurrentLocation()
MKMapItem.openMapsWithItems([currentLocationMapItem, mapItem], launchOptions: launchOptions)
}
Esta función abre mapas con éxito pero no muestra ningún pin. También muestra la ubicación del usuario que no quiero. Solo quiero un pin en el mapa para la latitud y longitud proporcionadas.
ios
swift
apple-maps
Dharmesh Kheni
fuente
fuente
Respuestas:
Este código funciona bien para mí.
Para swift 3.0:
fuente
MKLaunchOptionsMapSpanKey
se ignora cuandoMKMapItem
se agregan uno o más al mapa: stackoverflow.com/a/32484331/422288Si solo desea dar instrucciones de manejo al usuario, aquí está la última sintaxis de Swift en su forma más simple:
fuente
mapItem.openInMapsWithLaunchOptions([MKLaunchOptionsDirectionsModeKey: MKLaunchOptionsDirectionsModeDriving])
Puede llamar a la función de clase de
MKMapItem
pasar elementos allí, usa solo el primero y el último para origen / destino de manera adecuada, si desea pasar más de dos elementos.Rápido 5, 4
o usando la extensión:
fuente
El
MKMapItem
enfoque anterior funciona muy bien si desea un control granular sobre la información que se muestra en Maps.De lo contrario, el siguiente código también funciona muy bien:
Sin embargo, el código anterior no le permite enviar un nombre personalizado del lugar. En cambio, mostrará la dirección.
El código anterior también le permite navegar desde cualquier coordenada de origen, lo que no sé si puede hacer con el enfoque MKMapItem.
fuente
Esto funciona como un encanto para mi
fuente
Puede usar el siguiente código para mostrar el PIN en lat, long in en el mapa de Apple.
fuente
Si lo que desea es algo simple sin importar ningún marco, simplemente puede crear una URL:
https://maps.apple.com/?ll=\(latitude),\(longitude)
Es similar a la respuesta de @ saniel-saidi, pero esta abre solo el mapa con la ubicación enviada, no la navegación.
fuente
Sé que todas las respuestas están completas, pero aquí obtuve una respuesta que es más fácil de copiar y pegar y también le brinda al usuario opciones para enrutar con Apple Maps, Google Map y Waze.
Trabajar con Swift 5+
https://stackoverflow.com/a/60930491/6449292
Podría ayudar a alguien ...
fuente
Actualización de la respuesta práctica de Daniel Saidi . Este ejemplo es para decir solo las coordenadas de destino. Los mapas obtendrán como origen la posición actual del usuario.
fuente