Przez długi czas byłem zajęty, aby dowiedzieć się, jak narysować linię między dwoma punktami (GPS) na mapie w HelloMapView, ale bez powodzenia.
Czy ktoś mógłby mi powiedzieć, jak to zrobić.
Załóżmy, że używam HelloMapView, który rozszerza MapView. Czy muszę używać nakładek? Jeśli tak, czy muszę przesłonić metodę onDraw () nakładki i narysować tutaj linię? Właściwie próbowałem tych rzeczy, ale bez rezultatu.
Z góry dziękuję!
Odpowiedzi:
Dziękuję za pomoc. Nareszcie mogłem narysować linię na mapie. Oto jak to zrobiłem:
źródło
Dla tych, którzy naprawdę chcą narysować tylko prostą linię - jest też rzeczywiście krótka, krótka wersja.
z https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/model/Polyline
źródło
źródło
Jest to pełny kod źródłowy do rysowania ścieżki kierunku od szerokości i długości geograficznej źródła do szerokości i długości geograficznej miejsca docelowego. Zmieniłem powyższy kod, aby pasował do szerokości i długości geograficznej, a nie do źródła i celu. Dzięki temu każdy, kto uzyskuje dostęp do jego szerokości i długości geograficznej przez GPS, może uzyskać kierunek z urządzenia GPS do współrzędnych celu.
Dzięki powyższym odpowiedziom mogliśmy dokonać takiej zmiany i uzyskać kierunek ścieżki.
Mam nadzieję, że pomoże to innym użytkownikom Stack Overflow
źródło
Można to zrobić również za pomocą intencji:
źródło
To naprawdę proste dzięki Google Maps Android API v2
Po prostu skopiuj przykład z dokumentacji programisty
(oczywiście najpierw musisz zainicjować swoją mapę)
źródło
Tak, musisz używać nakładek.
Musisz pobrać nakładki MapView i dodać do nich nową nakładkę.
Twoja klasa rozszerza nakładkę, która jest przezroczystym płótnem, na którym możesz rysować jak na każdym innym płótnie.
Możesz użyć mapView.getProjection (), aby uzyskać rzut widoku mapy.
...
Więcej informacji można znaleźć tutaj: http://blogoscoped.com/archive/2008-12-15-n14.html
źródło
Odwzorowanie można pobrać z obiektu MapView, który jest przekazywany do metody draw (): mapv.getProjection (). ToPixels (gP1, p1);
źródło
Klasa Route Helper
źródło
po prostu znajdę rysowanie z jakimś prostokątem, po
mapview
prostu chcemy zmienić farbę, jak nam się podobaEmptyOverlay.java
MapExampleActivity.java
MapOverlay.java
zobacz http://n3vrax.wordpress.com/2011/08/13/drawing-overlays-on-android-map-view/
źródło
źródło
Po prostu uzyskaj trasę z tego adresu URL i wykonaj następne ...
tutaj umieściłem początek jako szerokość i długość geograficzną Delhi oraz cel jako długość geograficzną szerokości geograficznej chandigarh
https://maps.googleapis.com/maps/api/directions/json?origin=28.704060,77.102493&destination=30.733315,76.779419&sensor=false&key= „PUT YOUR MAP API KEY”
źródło
To zadziałało dla mnie. Przy pomocy wspomnianej tutaj metody mogłem narysować polilinie w Google Maps V2. Rysowałem nową linię za każdym razem, gdy zmieniła się lokalizacja użytkownika, więc polilinia wygląda jak ścieżka, po której przebywa użytkownik na mapie.
Kod źródłowy w. Github: prasang7 / eTaxi-Meter
Proszę zignorować inne moduły tego projektu związane z obliczaniem odległości i interfejsem użytkownika, jeśli nie jesteś nimi zainteresowany.
źródło