2009-11-19 17 views
6

¿Cómo fuerza una aplicación de mapa de iPhone a abrir cuando el enlace en una página web va a maps.google.com/?q= http://example.com/mapdata.kml?Abra la aplicación de mapa de iPhone a través de un enlace a Google maps con KML como consulta

Si abro la aplicación del mapa y específicamente pongo http://example.com/mapdata.kml en el cuadro de consulta, todos los datos se cargan correctamente. Pero si uso http://maps.google.com/?q=http://example.com/mapdata.kml, la aplicación de mapas se carga pero no se cargan datos y no hay nada en el cuadro de consulta.

Las consultas típicas funcionan, como q = cupertino oq = [latitud, longitud]. Parece ser el enlace kml que está roto.

¿Alguien ha conseguido esto para trabajar? ¿Esto es compatible? ¿Tienes que URI codificar la consulta?

+0

relacionados: http://stackoverflow.com/qu estions/2963132/how-to-email-cllocationcoordinate2d-as-a-link – cregox

Respuesta

7

Tu pregunta me ha interesado, así que eché un vistazo al Apple URL Scheme Reference. Dice lo siguiente:

Aunque la aplicación Mapas apoya muchos de los parámetros de mapas de Google y consultas, que no soporta a todos. Las reglas para la creación de un enlace válido mapa son los siguientes:

El dominio debe ser google.com y el subdominio debe ser mapas o Ditu.

El camino debe ser /,/mapas,/local o/m si la consulta contiene el sitio como la clave y locales como el valor.

La ruta no puede ser/maps/*.

Todos los parámetros deben ser compatibles con . Consulte la Tabla 1 para obtener una lista de los parámetros compatibles con .

Un parámetro no puede ser q = * si el valor es una URL (por lo que no se recupera KML).

Los parámetros no pueden incluir view = text o dirflg = r.

Si leo bien, no parece que lo que quieres sea compatible, sin embargo, es interesante que puedas escribir la URL kml completa en la aplicación de mapas directamente y hacer que funcione. Eso parece un error por parte de Apple. Empezaría a arrojarle parámetros y ver qué pasa. Eso siempre es divertido. ;-)

Best Regards,

P. S. Esa es una bonita calcomanía. Preferiría una recompensa, pero parece que no has acumulado suficientes puntos SO para ofrecer eso todavía.;-)

+0

Argh! Tenía miedo de eso. Y había leído la referencia buscando una respuesta antes, pero de alguna manera eché un vistazo a esa parte. Tendré que buscar otro método. Pero respondiste la pregunta, así que la calcomanía es tuya si la quieres. Envíeme un correo electrónico a harry at-at harrylove.org. ¡Aclamaciones! –

+0

¿Puedo usar el texto "japonés" "マ ク ド ル ル ド" como una cadena de consulta. No funciona. ¿Cómo abordar este problema? – Satyam

2

Este enlace se haga lo que quiera

<a href="maps:q=http://example.com/mapdata.kml"> 

pero sólo funcionará en iOS por lo que asegúrese de comprobar el agente de usuario, etc y utilizar una dirección URL mapas normales en la no-IOS

<a href="http://maps.google.com?q=http://example.com/mapdata.kml"> 
+0

Ver más arriba: "Un parámetro no puede ser q = * si el valor es una URL (por lo que no se recupera KML)." –

+0

'maps: q = myquery' funciona, pero ¿puede indicarme en qué parte de la documentación dice que podemos usar' maps: ... 'en lugar de' http: // ... '? –

0

La URL mapas en forma reducida

mapas: q = GivenTitle @ latitud, longtitude

Cuestiones relacionadas