2011-10-18 13 views
5

Jestem nowy dla Androida i planuję pewne projekty.Algorytm znajdowania najkrótszej ścieżki/odległości w systemie Android?

Aby zakończyć planowanie, muszę wiedzieć, które algorytmy lub techniki będę używać w moim projekcie. Pomysł jest bardzo prosty. Chcę tylko określić najkrótszą ścieżkę/odległość między moją obecną lokalizacją a lokalizacją kilku supermarketów.

Czy mogę zastosować jakieś algorytmy lub interfejs API systemu Android?

Odpowiedz

11

Nie wiem o Androidzie API, ale jeśli jest coś, co powinieneś być w stanie znaleźć w Google. Na przykład spróbuj spojrzeć na "google map api", a jeśli łatwo uzyskasz wskazówki i odległości z api.

Look dla exemple na Google direction API

albo jeszcze lepiej: google distance matrix api daje dystans danego zbioru punktów. (Na przykład matrycę z co każdego wiersza: [pozycja, jeden supermarket)

na przykład: jeśli jestem 20 passage de la Bonne graine w Paryżu i Chcę sprawdzić, jak daleko jest Monoprix (supermarket 5 Rue Godefroy Cavaignac) mogę zażądać coś takiego: 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

W perspektywie algorytmu można przetwarzać jak poniżej:

stworzenia wykresu:

  • każda droga jest krawędź
  • każdy suppermarket jest węzłem
  • Twoja pozycja to węzeł

następnie zastosować Dijktra's algorithm znaleźć najkrótszą ścieżkę między swoją pozycję i wszystkich supermarketach

Oto ładny ilustracji (z Wikipedii) o tym, jak działa algorytm Dijktra za:

enter image description here

nadzieję, że pomoże

+0

przy pomocy algorytmu Disktry, najkrótsza ścieżka oznacza dystans pomiędzy aktualną pozycją a każdym supermarketem lub oznacza aktualną pozycję -> supermarket A -> supermarket B -> supermarket C? – red23jordan

+1

@ red23jordan to tylko od 2 punktów: aktualna pozycja i supermarket A, obecna pozycja i supermarket B ... Etc. (obecna pozycja i każdy supermarket). Szczerze mówiąc, Google API wydaje się całkiem kompletny, więc możesz nie potrzebować tego algorytmu. –

+0

thx bardzo, jeśli google API jest wystarczająco dobre, może nie być potrzeby stosowania algorytmu Dijktry. – red23jordan

Powiązane problemy