Ich entwickle eine App, die MapView mit einem Kompass drehen muss. Ich weiß, wie man die Kamera dreht, aber ich muss das MapView mit dem Kompass drehen. Der Mittelpunkt sollte der aktuelle Standort sein. Ich habe Codes für Maps V1 gefunden, aber ich muss es mit Maps V2 tun.Android Karten v2 drehen mapView mit Kompass
Antwort
OK, ich habe es selbst herausgefunden. Zuerst müssen Sie die Peilung vom Kompass berechnen. dann kann die Maps api-2 Kamera gedreht werden.
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));
}
gesetzt SensorListener
in Ihrem Code und diese Methode in onSensorChanged
Ereignis nennen. Ich habe einen Neigungswert hinzugefügt, sodass die Karte in 3D gedreht wird.
In Ihrem GoogleMap-Objekt können Sie auf getMyLocation-Methode zugreifen. Diese letzte gibt ein Location-Objekt zurück, das die getBearing-Methode enthält. Dieser gibt einen Gleitkommawert [0..360] zurück, der von der letzten bekannten Position und dem aktuellen Ort berechnet wurde, 0 ° ist die Nordachse, die Drehung ist im Uhrensignal.
fortzusetzen, Sie einen Code wie verwenden können:
GoogleMap gMap = .....
float bearing = gMap.getMyLocation().getBearing();
CameraPosition newCamPos = new CameraPosition(latLngObject,
zoomValue,
tiltValue,
bearing);
gMap.animateCamera(CameraUpdateFactory.newCameraPosition(newCamPos), durationValue, null);
Wie können wir das in V3 tun? Bitte vorschlagen. Auch ich habe ähnliche Frage gestellt, um Karte 360 Grad zu drehen, indem Sie Lager 3 Mal ändern (jedes Mal um 120 Grad, um 1 Zyklus um einen Mittelpunkt zu drehen), aber es gibt Erleichterung und Idioten. Wie kann ich das vermeiden? https://stackoverflow.com/questions/48123738/gmap-bearing-rotation-in-smooth-motion –
- 1. Android Karten V2 newLatLngBounds mit Lager
- 2. Google Maps Android MapView v2: Zoomen deaktivieren
- 3. Saving MapFragment (Karten v2) State in Android
- 4. Erkennen, wenn Android v2 Karten geladen
- 5. Kann Mapview V2 nicht zeigen
- 6. GMSMapView basierend auf Kompass drehen
- 7. MapView v2 behält Kontext um
- 8. Karte in Android drehen
- 9. kann nicht mit Google Maps V2 MapView Karte bekommen
- 10. Android OpenGL Kompass
- 11. Android MapView mit Sliding Menu Obskuren Menü
- 12. Wie kann ich Kompass/Überschrift auf mapkit zeigen mapview
- 13. Android programmgesteuert erstellt MapView v2 wird nicht angezeigt
- 14. Wie kann ich mapview wie Android-Karten-App laden
- 15. Android - Implementieren von Karten v2 in die Navigationsleiste
- 16. Android - ScrollView wie foursquare mit Karten + Liste
- 17. Android AppWidget Karten Aktivitätsproblem
- 18. Recyceln von Android Maps V2 SupportMapFragment beim Drehen
- 19. Kompass in Android
- 20. Android, Karten Overlays
- 21. Qibla Kompass in Android
- 22. Mapview leer in Android
- 23. Android MapView überlappt DrawerLayout
- 24. MapView zeigt nicht android
- 25. android MapView in Fragment
- 26. Android MapView ziehbare Marker
- 27. Android MapView Bitmap Problem
- 28. Google Maps öffnet nach dem Klicken auf MapView v2
- 29. MapView des Staates auf drehen Wiederherstellen und auf der Rückseite
- 30. So fügen Sie 2k Marker mit benutzerdefinierten Bitmap-Symbol android v2 Karten
Nicht, dass es zu viel zählt, aber .bearing ist ein Schwimmer. – Chrispix
Wie bekommen Sie Peilung? – sealskej
Wenn Sie GoogleMap anstelle von MapView verwenden, können Sie das Ereignis mMap.setOnMyLocationChangeListener verwenden. –