Obliczanie długości trasy

głosy
2

Mam mapę z około 80 adnotacji. Chciałbym zrobić 3 rzeczy.

1) Z mojej bieżącej lokalizacji, chciałbym poznać rzeczywistą odległość trasy do tej pozycji. Nie odległość liniową.

2) Chcę, aby móc wyświetlić listę wszystkich adnotacji, ale za każdym adnotacji (o dł / szer) Chciałbym poznać rzeczywistą odległość trasy od mojego położenia do tej pozycji.

3) Chciałbym poznać najbliższą adnotacji do mojego possition stosując dystans trasy. Nie liniowa odległość.

Myślę, że odpowiedź na wszystkie te trzy punkty będą takie same. Ale proszę pamiętać, że nie chcę, aby utworzyć trasę, po prostu chcę wiedzieć, odległość do adnotacji.

Mam nadzieję, że ktoś może mi pomóc.

Z poważaniem, Paweł Peelen

Utwórz 20/04/2010 o 08:49
źródło użytkownik
W innych językach...                            


3 odpowiedzi

głosy
2

Z tego co rozumiem twojego postu, wierzę szukacie Haversine formułę . Na szczęście dla ciebie, istnieje szereg wdrożeń Objective-C , choć pisanie własnego jest trywialne raz przed Formuły za sobą.

I początkowo usunięte to dlatego, że nie zauważył, że nie chcą odległość liniową w pierwszym, ale mam przywracając w przypadku zdecydujesz, że przybliżenie jest wystarczająco dobry w tym konkretnym punkcie interakcji użytkownika.

Odpowiedział 29/04/2010 o 09:10
źródło użytkownik

głosy
1

Myślę, że jak wskazano wcześniej, zapytanie będzie bardzo ciężki dla Google Maps API, jeśli wykonać dokładnie to, co mówisz. Potrzebują Państwo wszystkie te informacje naraz? Może najpierw byłoby wystarczająco dobre do kwerendy tylko niektóre z odległości w oparciu o pewne heurystyki lub potrzeb użytkowników.

Aby uzyskać odległości, można użyć Google Maps GDirectionsobiekt ... jak wskazano tutaj (na dole strony istnieje „ Trasy i kroki ” sekcji, z zaawansowanym przykład .

The GDirections object also supports multi-point directions, which can be constructed using the GDirections.loadFromWaypoints() method. This method takes an array of textual input addresses or textual lat/lon points. Each separate waypoint is computed as a separate route and returned in a separate GRoute object, each of which contains a series of GStep objects.

Korzystanie z interfejsu API Map Google w iPhone nie powinno być zbyt trudne, i myślę, że pytanie nie dotyczy tego, ale jeśli potrzebujesz podstawowy przykład, można spojrzeć na to pytanie, a następnie wskaż odpowiedź.

Powodzenia!

Odpowiedział 24/04/2010 o 16:23
źródło użytkownik

głosy
0

Obliczanie odległości trasy do około 80 miejsc z pewnością będzie obliczeniowo ze strony Google'a i nie mogę sobie wyobrazić, że można by te żądania do Google Maps API, było to możliwe, aby to zrobić na urządzeniu mobilnym, nie będąc poważnie ograniczona przez którąkolwiek połączenia telefonicznego lub limity stóp na serwerze.

Niestety, obliczanie odległości trasy zamiast odległość geometryczna jest bardzo kosztowne obliczenia obejmujące wiele danych dotyczących obszaru - dane prawie na pewno nie mają. Oznacza to niestety, że nie jest to coś, co Rdzeń Lokalizacja lub MapKit może pomóc.

Jaki problem należy próbują rozwiązać dokładnie? Nie mogą być inne niż pozostałe heurystyki odległości trasy można wykorzystać do przybliżenia jakiś rankingu odległość.

Odpowiedział 23/04/2010 o 08:48
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more