/ / ¿Cómo dibujar rutas en mapas en ios 6? - iphone, ios, mapkit, ios6-maps, maproute

¿Cómo dibujar rutas en mapas en ios 6? - iphone, ios, mapkit, ios6-maps, maproute

Quiero mostrar mapas y dibujar rutas en mapas. Mi aplicación soporta para ios 4 plus. Entonces, ¿cómo debo usar los mapas para trabajar en iOS 6 como antes? También quiero saber si debo usar mapview personalizado en mi aplicación para mostrar mapas y rutas o debo usar

[[UIApplication sharedApplication] openURL:]

Nunca he usado MapKits. Así que por favor proporcione si hay algún tutorial. También avíseme si hay bibliotecas de terceros que puedan usarse.

Respuestas

5 para la respuesta № 1

Si no quieres un mapa en la aplicación. Usa lo siguiente:

NSString *destinationAddress = @"Amsterdam";

Class itemClass = [MKMapItem class];
if (itemClass && [itemClass respondsToSelector:@selector(openMapsWithItems:launchOptions:)]) {

CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder geocodeAddressString:destinationAddress completionHandler:^(NSArray *placemarks, NSError *error) {
if([placemarks count] > 0) {

MKPlacemark *placeMark = [[MKPlacemark alloc] initWithPlacemark:[placemarks objectAtIndex:0]];

MKMapItem *mapItem = [[MKMapItem alloc]initWithPlacemark:placeMark];

MKMapItem *mapItem2 = [MKMapItem mapItemForCurrentLocation];


NSArray *mapItems = @[mapItem, mapItem2];

NSDictionary *options = @{
MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,
MKLaunchOptionsMapTypeKey:
[NSNumber numberWithInteger:MKMapTypeStandard],
MKLaunchOptionsShowsTrafficKey:@YES
};

[MKMapItem openMapsWithItems:mapItems launchOptions:options];

} else {
//error nothing found
}
}];
return;
} else {

NSString *sourceAddress = [LocalizedCurrentLocation currentLocationStringForCurrentLanguage];

NSString *urlToOpen = [NSString stringWithFormat:@"http://maps.google.com/maps?saddr=%@&daddr=%@",
[sourceAddress stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],
[destinationAddress stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlToOpen]];
}

Esto abre la aplicación del mapa y verifica si es ios5 o ios6.

Para ios5 utilizo el LocalizedCurrentLocation de este post http://www.martip.net/blog/localized-current-location-string-for-iphone-apps

Para ios6, uso CLGeocoder para obtener la marca de posición y luego abro el mapa y la ubicación actual.

Recuerda añadir CoreLocation.framework y MapKit.framework


1 para la respuesta № 2

Creo que esto te ayudará:

http://developer.decarta.com/Apis/IOS/Tutorial/Lesson6

http://developer.decarta.com/Apis/IOS/Tutorial/Lesson6Example

¿O esto?

http://spitzkoff.com/craig/?p=136

Tal vez sea divertido hacerlo si desea datos en su mapa:

http://www.raywenderlich.com/21365/introduction-to-mapkit-in-ios-6-tutorial

O alguna información básica sobre Mapkit

http://www.techotopia.com/index.php/Working_with_Maps_on_the_iPhone_with_MapKit_and_the_MKMapView_Class