2010-10-19 8 views
5

He leído acerca de una serie de publicaciones para desarrolladores que desean trazar una ruta en un mapa en un iPhone, pero no hay una respuesta satisfactoria sobre cómo lograrlo. Puede usar la biblioteca Route-Me, agregar una capa en la parte superior de MKMapView o enviar coordenadas al software de mapas de teléfonos y luego navegar desde su aplicación, lo que en mi opinión es una mala experiencia para el usuario. Nada de esto resuelve el problema de una buena manera.¿Cuál es la forma estándar/mejor de implementación de ruta en iPhone?

Algunos mensajes escriben que hay obstáculos legales, otros escriben que se trata de licencias de dinero. Este debe ser un requisito muy común y, por lo tanto, una característica común a implementar. Entonces, ¿cuál es la forma estándar de facto de hacer esto?

¿Alguien con buena experiencia puede compartir su opinión sobre esta pregunta?

BR // Christoffer

+0

¿Qué sería exactamente lo que la solución del problema sería para usted? Usted dice que los enfoques a los que se hace referencia son una mala experiencia del usuario, pero no definen cuál sería una buena. – Nick

+0

Después de la primera versión de una aplicación que desarrollé, hubo muchos usuarios que se quejaron de tener que "abandonar" la aplicación para obtener instrucciones.Mi opinión sobre una buena experiencia de usuario es que al agregar indicaciones de manejo directamente en el mapa, el mapa puede estar en su propia vista siempre que pueda usar la barra de navegación para volver a la vista anterior. Adivina lo que estoy diciendo es que debes poder quedarte en la aplicación. Eso es sobre el UX. La segunda parte es: ¿Cómo se logra esto? – Christofffer

Respuesta

3

así que decidí usar Apple Developer Soporte Técnico a muy claro esto. Esta es la respuesta:


Hola,

Gracias por su consulta a Apple a nivel mundial desarrollador de soporte técnico. Estoy respondiendo para informarle que he recibido su solicitud de asistencia técnica.

La forma estándar de hecho de hacerlo es utilizando la aplicación Map. Me doy cuenta de que esto no es lo que quieres. Desea permanecer dentro de su aplicación. La API MKMapView no le brinda ese nivel de soporte cuando se trata de instrucciones del usuario. Deberá confiar en un servicio web independiente para obtener esas instrucciones, y luego trazar cada punto de latitud/longitud usted mismo en MKMapView. Básicamente, deberás realizar una solicitud HTTP a la API de Google Directions. Los términos requieren que muestres los resultados en un mapa de Google; dado que MKMapView muestra a Google, eso debería estar bien.

http://code.google.com/apis/maps/documentation/directions/#DirectionsRequests

Si usted tiene éxito en la obtención de indicaciones para viajar con Digamos que Yahoo o servicio de Google, MKMapView le permitirá trazar una ruta visual utilizando un MKOverlayPathView y MKShapes para dibujar formas poligonales similares. Apple tiene una muestra llamada "KMLViewer" que se encuentra en http://developer.apple.com/library/ios/#samplecode/KMLViewer/Introduction/Intro.html Le muestra cómo trazar puntos en función de KML. El enfoque es el mismo ya que estamos tratando con coordenadas lat/long.

Es posible que desee considerar el uso de la aplicación Map, que sería considerablemente más fácil. Todo lo que necesita es la siguiente:

// for lat/long directions 
NSString *urlString1 = @"http://maps.google.com/maps?daddr=37.324885,-122.032378&saddr=37.332094,-122.03124"; 

// for address directions 
NSString *urlString2 = @"http://maps.google.com/maps?f=d&source=s_d&saddr=1+Infinite+Loop,+Cupertino,+CA+95014&daddr=Mandarin+Gourmet,+Cupertino,+CA&hl=en&geocode=FcajOQIdYvO5-Ckbd16TtrWPgDFAc4Pi50E92A%3BFZ2GOQIdLe65-CHRv0sTH7YegykLqKn9rbWPgDGUnqKbIqi1Bg&mra=ls&sll=37.325567,-122.032989&sspn=0.007243,0.007285&ie=UTF8&ll=37.328195,-122.031466&spn=0.007243,0.007285&z=17"; 

[[UIApplication sharedApplication] openURL: [NSURL URLWithString: urlString1]]; 

Segunda dirección de correo:

Para que quede claro en mi último correo electrónico acerca de los términos de uso de los servicios de Google. Google requiere que muestres los resultados de la ruta en un mapa de Google, que MKMapView usa. Sin embargo, revisaría dos veces el propio T & C de Apple en relación con el uso de servicios externos, como las instrucciones del usuario en MKMapView. No quiero que vayas por un camino solo para encontrar restricciones legales en el camino.


Cuestiones relacionadas