Ist es möglich, die Zoomstufe für myLocation mit der neuen Google Maps API v2 zu ändern?
Wenn Sie festlegen GoogleMap.setEnableMyLocation(true);
, erhalten Sie eine Schaltfläche auf der Karte, um Ihren Standort zu finden.
Wenn Sie darauf klicken, bringt Sie die Karte zu Ihrem Standort und zoomt ihn auf eine bestimmte Ebene. Kann ich diesen Zoom so ändern, dass er kleiner oder größer ist?
Antworten:
Es ist zweifelhaft, ob Sie es beim Klicken mit dem Standard-myLocation-Marker ändern können. Wenn Sie jedoch möchten, dass die App Ihren Standort automatisch vergrößert, sobald er gefunden wurde, würde ich meine Antwort auf diese Frage überprüfen
Beachten Sie, dass die von mir angegebene Antwort nicht vergrößert wird. Wenn Sie jedoch die onLocationChanged-Methode so ändern, dass sie der folgenden entspricht, können Sie eine beliebige Zoomstufe auswählen:
quelle
Sie können auch verwenden:
Ändern Sie einfach den Zoomwert auf einen beliebigen Wert zwischen Minimalwert = 2,0 und Maximalwert = 21,0.
Die API warnt, dass nicht an allen Standorten Kacheln mit Werten bei oder nahe dem maximalen Zoom vorhanden sind.
Sehen Sie diese für weitere Informationen über Zoom - Methoden zur Verfügung , in der
CameraUpdateFactory
.quelle
mit Standort - im neuen GoogleMaps SDK:
quelle
Etwas andere Lösung als bei HeatfanJohn, bei der ich den Zoom relativ zur aktuellen Zoomstufe ändere:
quelle
Hier sind die ungefähren Zoomstufen und was sie tun:
Sie könnten also so etwas tun, um beispielsweise auf Straßenebene zu zoomen (beachten Sie, dass "15f" unten Straßenebene ist):
Hinweis: Nur damit Sie wissen, dass verschiedene Standorte unterschiedliche maximale Zoomstufen haben können. Versuchen Sie zu verwenden,
googleMap.maxZoomLevel
wenn Sie die maximale oder minimale Zoomstufe erhalten möchten.quelle
In der onMapReady () -Methode
Ändern Sie die Zoomstufe auf einen beliebigen Wert.
quelle
Sie müssen nur eine Zeile in maps_activity.xml schreiben
Ich hoffe das wird dein Problem lösen ...
quelle
Sie können verwenden
quelle
Sogar ich hatte kürzlich die gleiche Abfrage ... einige, wie keine der oben genannten setmaxzoom oder sonst map: cameraZoom = "13" nicht funktioniert Also fand ich, dass die Abhängigkeit, die ich verwendet habe, alt war, stellen Sie bitte sicher, dass Ihre Abhängigkeit für Google Maps ist richtig das ist die neueste verwendung dies
quelle
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(currentPlace,15));
Dies hat keinen Animationseffekt.quelle
Wenn Sie den Zoom speichern oder ständig abrufen möchten, müssen Sie nur Folgendes aufrufen
quelle
Die meisten der oben genannten Antworten sind entweder veraltet oder der Zoom behält den aktuellen Breiten- und Längengrad bei und zoomt nicht genau auf den gewünschten Ort. Fügen Sie Ihrer onMapReady () -Methode den folgenden Code hinzu .
quelle
Ich habe es mit "mMap.animateCamera (CameraUpdateFactory.zoomTo (17.0f))" versucht. aber es hat bei mir nicht funktioniert. Also habe ich diese Animation zum Vergrößern beim Start verwendet.
quelle