2009-06-29 13 views
8

que se dan cuenta de que se pueden abrir los mapas de Google App listos para las direcciones haciendo algo como esto:abiertos Google Maps para direcciones de bus

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

Pero, ¿existe un parámetro que puedo añadir a cambiar automáticamente a las direcciones de bus? documento de desarrolladores de Apple no parece mencionar nada al respecto:

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

Respuesta

22

De MapKiWiki:

Tipo de ruta dirflg:

  • dirflg = h - Activa "para evitar autopistas" modo de búsqueda de ruta.
  • dirflg = t - Activa "Evitar peajes" modo búsqueda de ruta.
  • dirflg = r - Activa el "Transporte público" - solo funciona en algunas áreas.
  • dirflg = w - Cambia a caminar indicaciones - todavía en versión beta.
  • dirflg = d - Cambia a las direcciones de conducción .

Así que su URL:

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

se convierte en:

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

N. B. Los datos que respaldan los tipos de rutas de transporte público no siempre están disponibles. Probé el área que utilizó en su muestra (Londres, Birmingham) y encontré que no era compatible.

+0

¿Cómo podemos ver esta página en formato XML ahora? Tales como las direcciones de manejo dadas en formato XML. Por ejemplo: 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 aunque hay un directorio al final, todavía muestra las indicaciones de manejo. – c0d3Junk13

+0

el enlace está muerto: - / – rahulserver

0

Cadena url = "http://maps.google.com/maps?f=d&daddr=" + latitud + "," + longitud + "& dirflg = r"; Intent intennt = new Intent (android.content.Intent.ACTION_VIEW, Uri.parse (url)); intent.setClassName ("com.google.android.apps.maps", "com.google.android.maps.MapsActivity"); startActivity (intención);

dirflg = r para el transporte público