2011-10-18 26 views
5

Soy nuevo en android y estoy haciendo algunos planes de proyecto.Algún algoritmo para encontrar la ruta/distancia más corta en Android?

Para terminar la planificación, tengo que saber qué algoritmos o técnicas usaré en mi proyecto. La idea es muy simple. Solo quiero determinar la ruta/distancia más corta entre mi ubicación actual y la ubicación de algunos supermercados.

¿Hay algún algoritmo o API de Android que pueda aplicar?

Respuesta

11

No conozco la API de Android, pero si hay algo que debería poder encontrar en Google. Por ejemplo, intente ver "google map api", y si puede obtener direcciones y distancias con la API fácilmente.

Busque exemple en el Google direction API

O aún mejor: google distance matrix api le da la distancia de cualquier conjunto dado de puntos. (Por ejemplo, una matriz con en cada fila: [su posición, un supermercado)

por ejemplo: si estoy 20 passage de la bonne graine en París y yo quiero para comprobar hasta qué punto es el monoprix (supermercado 5 Rue Godefroy Cavaignac ) puedo pedir algo así: http://maps.googleapis.com/maps/api/distancematrix/json?origins=20%20passage%20de%20la%20bonne%20graine&destinations=45%20Rue%20Godefroy%20Cavaignac,%2075011%20Paris,%20France&mode=walking&language=fr-FR&sensor=false

En términos de algoritmo puede procesar la siguiente manera:

crear una gráfica:

  • cada carretera es una ventaja
  • cada suppermarket es un nodo
  • su posición es un nodo

luego aplicar Dijktra's algorithm para encontrar el camino más corto entre su posición y todos los supermercados

Aquí es una buena ilustración (de Wikipedia) sobre cómo funciona el algoritmo de Dijktra:

enter image description here

creo que sirve

+0

usando el algoritmo de Disktra, la ruta más corta significa la distancia entre la posición actual y cada supermercado, o significa posición actual -> supermercado A -> supermercado B -> supermercado C? – red23jordan

+1

@ red23jordan es solo entre 2 puntos: posición actual y supermercado A, posición actual y supermercado B ... Etc. (posición actual y cada supermercado). Pero sinceramente, la API de Google parece bastante completa, por lo que es posible que no necesite este algoritmo. –

+0

mucho, si la API de Google es lo suficientemente buena, entonces puede que no sea necesario usar el algoritmo de Dijktra. – red23jordan

Cuestiones relacionadas