Appel des Cartes pour les directions à partir de l'intérieur de votre app - iOS5 iOS6
Ici est un problème étrange: Mon application doit être en mesure d'appeler les construit dans les Maps dans iOS (5.1 et 6). S'avère qu'il fonctionne très bien sous iOS6, mais pas sous iOS5.1. Les cartes en iOS6 est appelé et les directions à partir de saddr à daddr est tracé, mais quand je suis dans iOS5 l'application maps est appelée, mais juste une broche est mis à la daddr. Pour une raison inconnue, les coordonnées initiales (saddr) ne s'affichent pas et pas de direction est tracée.
Voici mon code:
addr = [NSString stringWithFormat: @"maps://saddr=%f,%f&daddr=%f,%f", newLocation.coordinate.latitude, newLocation.coordinate.longitude, oldLatitude, oldLongitude];
NSURL *url = [NSURL URLWithString:addr];
[[UIApplication sharedApplication] openURL:url];
J'ai essayé de changer l'URL "http://maps.google.com/something" mais il appelle Safari au lieu de construit dans l'application Cartes. J'ai remarqué que les variables sont transmises correctement à l'URL.
Des idées?
Merci d'avance!
- Pratiquement identique à la question pour cette ancienne, sauf que l'adresse de départ est la position actuelle dans l'autre question (ne change pas vraiment le problème).
Vous devez vous connecter pour publier un commentaire.
J'ai eu un problème similaire et j'ai dû créer conditionnelle OS code à composer avec le fait que l'application Google Maps a été supprimé. À partir de la nouvelle MKMapItem De Référence
Pour obtenir un itinéraire à pied:
MKLaunchOptionsDirectionsModeWalking
au lieu deMKLaunchOptionsDirectionsModeDriving
&dirflg=w
à l'url.Je pense que c'est mieux d'utiliser la openInMapsWithLaunchOptions dans iOS6, car il vous donne un contrôle complet sur la façon dont l'application cartes vous répondra.
Current+Location
sont discutés dans ma réponse pour ce très similaire âgées question, et les commentaires y répondre.Vous pouvez utiliser
MKPlacemark
etMKMapItem
pour le lancement de l'application Maps, avec à la fois une coordonnée et un titre sur la carte de broches:Notez que vous aurez besoin de lier contre
AddressBook.framework
et également ajouter#import <AddressBook/AddressBook.h>
quelque part dans votre code pour utiliser lakABPersonAddressStreetKey
constante.