2009-06-29 15 views
8

mi rendo conto che è possibile aprire le mappe Google App pronto per le direzioni facendo qualcosa di simile a questo:mappe di Google per le direzioni di autobus aperti

NSString* urlString = @"http://maps.google.com/maps?saddr=London+UK&daddr=Birmingham+UK"; 
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: urlString]]; 

Ma c'è un parametro che posso aggiungere per passare automaticamente alla direzioni di autobus? documento sviluppatore di Apple non sembra parlare di nulla al riguardo:

https://developer.apple.com/iphone/library/featuredarticles/iPhoneURLScheme_Reference/Articles/MapLinks.html#//apple_ref/doc/uid/TP40007894

risposta

22

Da MapKiWiki:

Tipo dirflg Percorso:

  • dirflg = h - Accende "Evitare autostrade" modalità di ricerca del percorso.
  • dirflg = t - Accende "Avoid Tolls" modalità di ricerca del percorso.
  • dirflg = r - Attiva "Transito pubblico" - funziona solo in alcune aree.
  • dirflg = w - Passa a camminare direzioni - ancora in beta.
  • dirflg = d - Passa alla guida di direzioni.

Così il vostro URL:

NSString* urlString = @"http://maps.google.com/maps?saddr=London+UK&daddr=Birmingham+UK"; 

diventa:

NSString* urlString = @"http://maps.google.com/maps?saddr=London+UK&daddr=Birmingham+UK&dirflg=r"; 

N.B. I dati che supportano i tipi di percorsi di trasporto pubblico non sono sempre disponibili. Ho provato l'area che hai usato nel tuo campione (Londra, Birmingham) e ho scoperto che non era supportato.

+0

Come possiamo vedere questa pagina in formato XML ora? Ad esempio le indicazioni stradali fornite in formato XML. Ad esempio: http://maps.googleapis.com/maps/api/directions/xml?origin=111%20Davisville%20Avenue,Toronto,ON&destination=469%20King%20Street%20West,%20Toronto,%20ON&sensor=false&dirflg=r anche se alla fine c'è dirflg = r, mostra comunque le indicazioni stradali. – c0d3Junk13

+0

il link è morto: - / – rahulserver

0

Stringa url = "http://maps.google.com/maps?f=d&daddr=" + latitudine + "," + longitudine + "& dirflg = r"; Intento intento = nuovo intento (android.content.Intent.ACTION_VIEW, Uri.parse (url)); intent.setClassName ("com.google.android.apps.maps", "com.google.android.maps.MapsActivity"); startActivity (intento);

dirflg = r per il trasporto pubblico

Problemi correlati