Pracuję nad aplikacją, która musi obracać mapView za pomocą kompasu. Wiem, jak obracać kamerę, ale muszę obracać mapView za pomocą kompasu. Punkt centralny powinien być bieżącą lokalizacją. Znalazłem kody do Map V1, ale muszę to zrobić w Mapach V2Mapy systemu Android v2 obracaj mapView z kompasem
Odpowiedz
OK, sam to wymyśliłem. najpierw musisz obliczyć łożysko z kompasu. , a następnie kamera Api-2 Maps może być obracana.
public void updateCamera(float bearing) {
CameraPosition currentPlace = new CameraPosition.Builder()
.target(new LatLng(centerLatitude, centerLongitude))
.bearing(bearing).tilt(65.5f).zoom(18f).build();
googleMap.moveCamera(CameraUpdateFactory.newCameraPosition(currentPlace));
}
ustawić SensorListener
w kodzie i wywołać tę metodę w onSensorChanged
imprezy. dodałem wartość pochylenia, aby mapa obróciła się w 3D.
w obiekcie GoogleMap możesz uzyskać dostęp do metody getMyLocation. Ten ostatni zwraca obiekt Location, który zawiera metodę getBearing. Ten zwraca wartość zmiennoprzecinkową [0..360] obliczoną na podstawie ostatniej znanej lokalizacji i bieżącej lokalizacji, 0 ° jest osią północną, obrót jest w sensie zegara.
Aby wznowić, można użyć kodu jak:
GoogleMap gMap = .....
float bearing = gMap.getMyLocation().getBearing();
CameraPosition newCamPos = new CameraPosition(latLngObject,
zoomValue,
tiltValue,
bearing);
gMap.animateCamera(CameraUpdateFactory.newCameraPosition(newCamPos), durationValue, null);
Jak możemy to zrobić w V3? Proszę zasugeruj. Również zamieściłem podobne pytanie, aby obrócić mapę o 360 stopni, zmieniając łożysko 3 razy (za każdym razem o 120 stopni, aby obrócić 1 cykl wokół punktu środkowego), ale są łagodne i szarpane. Jak mogę tego uniknąć. https://stackoverflow.com/questions/48123738/gmap-bearing-rotation-in-smooth-motion –
- 1. Programowany Android MapView v2 nie jest wyświetlany
- 2. Google Maps Android MapView v2: wyłączanie powiększania
- 3. Mapy V2 z viewPager
- 4. MapView v2 zachowuje kontekst wokół
- 5. Android Mapy Google Znaczniki centrum API V2
- 6. Ustawienie Centrum lokalizacji mapy - GMaps v2 - Android
- 7. Jak zaktualizować lokalizację mapy Google v2 z usługi tła Android
- 8. Android: Google MapView wyświetla wskaźnik postępu podczas wczytywania mapy
- 9. Zamiennik dla Android Mapview do korzystania z usługi WMS
- 10. Wykryj, kiedy załadowałeś mapy z Androidem V2
- 11. Obracaj znacznik z ulotką
- 12. Mapy systemu Android - Limit w zakresie 180 stopni
- 13. Używanie libsass z kompasem
- 14. Google Android mapy api v2 Pokaż tytuł znacznika Zawsze
- 15. Powiększenie wydarzeń, które działają w Android Mapview
- 16. Android - przeciąganie znacznika bez konieczności trzymania mapy api v2
- 17. Odtworzyć mapy Android Maps V2 SupportMapFragment podczas obracania
- 18. Android Mapy Google V2 zmieniają ikonę mojej lokalizacji
- 19. Mapy systemu Android: nie udało się wczytać mapy. Nie można skontaktować się z serwerami Google.
- 20. Samouczek "Cześć, MapView" - kafelki mapy nie ładują się.
- 21. Jak uzyskać centrum mapy dla map v2 na Androida?
- 22. Jak uzyskać mapę bitową MapView z Androida Google Maps API V2
- 23. Jak uzyskać współrzędne mapy po dotknięciu z MapFragment (nie MapView)?
- 24. Przenoszenie ikon na Android MapView
- 25. Odśwież/przeładuj mapy: Google maps API V2
- 26. Przenoszenie znaczników w Google Maps v2 Android
- 27. Android Google Maps Api V2, uzyskiwanie współrzędnych bieżącego centrum map
- 28. Saving MapFragment (Maps v2) State in Android
- 29. GoogleMap V2 ładuje mapę losowo Android
- 30. jak powiększyć i dodać znacznik do mapy mapy android
Nie to, że liczy się zbyt wiele, ale .bearing jest pływak. – Chrispix
Jak uzyskać łożysko? – sealskej
Jeśli używasz GoogleMap zamiast MapView, możesz użyć zdarzenia mMap.setOnMyLocationChangeListener. –