Cartes ouvertes avec adresse spécifique d'iOS 7
Je suis en train de faire ma demande d'ouvrir l'application apple maps et avoir l'adresse d'être tiré vers le haut. J'ai essayé ceci :
- (IBAction)openInMaps:(id)sender {
NSString *addressString = @"http://maps.apple.com/?q=1 Infinite Loop, Cupertino, CA";
NSURL *url = [NSURL URLWithString:addressString];
[[UIApplication sharedApplication] openURL:url];
}
et ce :
- (IBAction)openInMaps:(id)sender {
NSString *addressString = @"http://maps.apple.com/?q=1_Infinite_Loop,_Cupertino,_CA";
NSURL *url = [NSURL URLWithString:addressString];
[[UIApplication sharedApplication] openURL:url];
}
Mais le bouton agit comme son accroché à rien. Mais ce n'travail :
- (IBAction)openInMaps:(id)sender {
NSString *addressString = @"http://maps.apple.com/?q=Cupertino,CA";
NSURL *url = [NSURL URLWithString:addressString];
[[UIApplication sharedApplication] openURL:url];
}
Donc, chaque fois que leur est un espace qu'il ne fonctionne pas. Comment puis-je ouvrir cette adresse?
- donner de la documentation un tourbillon developer.apple.com/library/ios/featuredarticles/...
- Merci homme, ne savait même pas qui était là... je vais vérifier
- Je vais lui : NSString *addressString = [NSString stringWithFormat:@"maps.apple.com/?q=1+Infini+Boucle+Cupertino,+CA"];
- Ne pas utiliser inutilement
stringWithFormat:
. Suffit d'attribuer la chaîne directement.
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour échapper correctement les espaces dans l'URL:
Edit - il semble à l'aide de
+
au lieu de%20
pour les espaces résout le problème.Donc, pour le faire fonctionner correctement, vous devez l'utiliser :
Swift 2 version formatée bien, en toute sécurité poignées options, et de ne pas planter votre application:
C'est comment je le fais en Objective-C...j'ai toujours essayer de le Waze Carte tout d'abord, parce que pour être honnête, c'est génial de sauce, j'ai ajouté le fichier PLIST autorisations à la fin:
POUR UN FICHIER PLIST
Swift 3 version: