Ich entwerfe eine Android-App, die mehrere Markierungen auf der Karte zeigen soll. Ich kann das leicht machen. Mein Problem ist, dass ich alle Markierungen um meine Position herum zeigen muss und die CameraPosition muss in meiner Position fokussiert sein. Ich kann sie einfach einzeln machen, aber was ich brauche ist, sie zusammen zu zeigen, meinen Standort in der Mitte der Karte und die Markierungen um meinen Standort herum. Irgendeine Idee, wie kann ich das erreichen? Danke im Voraus!Stelle CameraPosition auf meinen Standort ein, zeige aber auch andere Marker an
Antwort
Stellen Sie Ihren Zoom auf eine höhere Ebene ein, damit er auszoomen und mehr von Ihrer Karte um Ihren aktuellen Standort sehen kann.
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(yourLatLng).zoom(12).build();
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
Die Funktionalität, die Sie benötigen, ist alle ausgewählten Markierungen auf den Karten zu halten und es sollte zu einem einzigen Zeitpunkt zu sehen sein. Sie müssen alle diese Punkte im sichtbaren Bereich mit myLlocation (Ihrem aktuellen Standort) immer in der Mitte des Bildschirms behalten.
Zuerst halten Sie Ihre MyLocation innerhalb einer latlng Variable und alle anderen latlng, die innerhalb der Grenzen in einem anderen Arraylist von LatLng sein sollen. Definieren Sie auch einige Variablen, um den Vorgang zu verfolgen.
LatLng myLocation=null; ArrayList<LatLng> latlngs = null; // the arraylist of other latlng; boolean are_all_inside_viewport = false; float current_zoom = googleMap.getCameraPosition().zoom; //initialise these variables myLocation and latlngs;
animieren Sie dann Ihre Kamera zu MyLocation, die in der Mitte der Karte platziert werden. Setzen Sie hier eine niedrige Zoomstufe.
CameraPosition cameraPosition = new CameraPosition.Builder() .target(myLocation) .zoom(14) .build(); googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
nun für jedes Zimmer in der Arraylist latlng von sie sind in der Google Maps-Port anzuzeigen. Wenn sie drin sind, dann ist es in Ordnung. Wenn nicht, verringern Sie die Zoomstufe der Karten und animieren Sie die Kamera erneut.
while (!are_all_inside_viewport) { are_all_inside_viewport = true; for (LatLng latLng : latlngs) { if (!bounds.contains(latLng)) { are_all_inside_viewport = false; break; } } bounds = googleMap_local.getProjection().getVisibleRegion().latLngBounds; cameraPosition = new CameraPosition.Builder() .target(myLocation) .zoom(current_zoom - 1) .build(); googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition)); }
werden, sind diese gehen in der Ansichtsfenster, bis alle latlng innerhalb der Arraylist für jede latlng auf Überprüfung.
Ich hoffe, diese Antwort hilft Ihnen.
Nun, das ist es, was ich brauche, mein aktueller Standort, um in der Mitte zu sein, und andere Marker um ihn herum. – ErenisR
Haben Sie all das bereit? –
Siehe meine bearbeitete Antwort @ user3419782 –
- 1. Mehr als ein Marker an der gleichen Stelle - MarkerClusterer
- 2. Mapbox Wie zeige ich Marker an der aktuellen Position?
- 3. Definieren Sie meinen Standort auf Google Maps auf setMyLocationEnabled Eklipse
- 4. Zeige einen beweglichen Marker auf der Karte
- 5. Wie kann ich meinen Standort bekommen? [Android]
- 6. Polygon eine andere Stelle
- 7. Zeige Position an der aktuellen Position + Kartenansicht
- 8. Positionsmarkierungen oben auf dem Standort positionieren?
- 9. InfoWindow nicht an anderer Stelle entfernen Klicken Sie auf
- 10. Wo zeige ich meinen Freetype Font Loader an?
- 11. bekommen andere Werte von Marker
- 12. Infowindow zeigen an der gleichen Stelle jedes Mal, wenn ich auf den Standort Punkt in Google Maps api
- 13. Wie zeige ich meine Warteschlange und meinen Stapel an?
- 14. Google Maps API v2: LatLngBounds von CameraPosition
- 15. Google Maps API zeigt für einige Standorte einen inkorrekten Standort an, stimmt aber für andere Standorte.
- 16. Zeichnen Sie Marker auf GMAPS API V3, und senden Sie den Standort an Google Fusion
- 17. Zeige andere Div auf Hover-Liste Element
- 18. Wie stelle ich meinen Entwicklungs-Webbrowser in VS2010 RC ein?
- 19. IE7 beschneidet meinen Text. Wie stelle ich seine Einstellung ein?
- 20. Umleiten auf andere Seite auf Klick auf Google Maps Marker
- 21. GMSMapview aktuellen Standort Marker nicht kommen
- 22. Schließen Sie ein Menü an beliebiger Stelle
- 23. Tastatur ablehnen, aber auch andere Aktionen in iOS Swift zulassen?
- 24. kann nicht meinen Standort und Standort Schaltfläche nicht angezeigt
- 25. So zeigen Sie meinen Standort in Google Maps für Android API an v2
- 26. Marker auf Antwortkarte
- 27. Überprüfen, ob 'Zugriff auf meinen Standort' aktiviert ist - Android
- 28. Nun habe ich versucht, andere Lösung den aktuellen Standort eines Benutzers zu erhalten, aber scheiterte
- 29. Android Kompass zeigt auf meinen Standort statt Norden
- 30. Wie zeige ich ein untergeordnetes Fenster auf seinem Elternteil an?
Zoomen Sie Ihre Karte nicht, wenn Sie die Kameraposition einstellen –