Ich schreibe eine Anwendung in Android mit Google Map-V2-API. Ich möchte die Aktionsleiste genau wie in der Google Map-Anwendung überlegen. Und ich habe die Schaltfläche "Mein Standort" aktiviert. Das Problem ist jetzt, dass meine Standorttaste unter der Aktionsleiste ist. Gibt es eine Möglichkeit, diese Schaltfläche neu zu positionieren? Ich möchte eine App ähnlich wie Google Maps erstellen. Ich bin neu bei Android, also bitte helfen.Wie positioniere ich meine Standorttaste in google mapv2 in android?
Antwort
Sie padding auf der Karte festlegen.
Dies das Problem gelöst - Overlays über die Karte, auf der Oberseite (verwendete ich 48 Einbrüche, aber Sie können Aktionsleiste überlagern und dann tatsächliche Höhe davon (android erhalten: attr/actionBarSize)?)
mapFragment.getMap().setPadding(0, dpToPx(48), 0, 0);
(DP zu PX-Funktion ist von this SO answer)
Setzen Sie das Padding programmatisch für mich gearbeitet, während es im Layout xml nicht gesetzt – Radu
verwenden Sie einfach GoogleMap.setPadding (links, oben, rechts, unten), die Sie Teile der Karte, um anzuzeigen, erlaubt, die von anderen Ansichten verdeckt werden kann. Durch Einstellen der Auffüllung werden die Standardsteuerelemente für Karten neu positioniert, und bei Kameraaktualisierungen wird die aufgefüllte Region verwendet.
https://developers.google.com/maps/documentation/android/map#map_padding
Nizza Trick. Wie bekomme ich das aktuelle Padding? GoogleMap.getPadding-Methode() existiert nicht ... – Wooff
Sie können Ihren Standort Taste leicht
View plusMinusButton = suppormanagerObj.getView().findViewById(1);
View locationButton = suppormanagerObj.getView().findViewById(2);
// and next place it, for exemple, on bottom right (as Google Maps app)
RelativeLayout.LayoutParams rlp = (RelativeLayout.LayoutParams) locationButton.getLayoutParams();
// position on right bottom
rlp.addRule(RelativeLayout.ALIGN_PARENT_TOP, 0);
rlp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
Sie zusätzlich Polsterung neu positionieren kann die Ausrichtung des Standortes Taste
mMap.setPadding(0, 0, 30, 105);
Wie in der unteren | links? –
Sie müssen aMap.setPadding verwenden. Diese Methode ist verantwortlich für die Position des Location-Bild-ICONS. – Ramkailash
Ich löste dieses Problem nach der Einstellung in meiner Map-Fragment durch Positionierung meiner loc ation Taste auf der rechten unteren Ecke der Ansicht unten, hier unter Verwendung von Code ist meine Karten Activity.java: -
Fügen Sie diese Zeilen Code in onCreate() -Methode,
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapView = mapFragment.getView();
mapFragment.getMapAsync(this);
und hier ist onMapReady () Code: -
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
mMap.setMyLocationEnabled(true);
// Add a marker in Sydney and move the camera
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
if (mapView != null &&
mapView.findViewById(Integer.parseInt("1")) != null) {
// Get the button view
View locationButton = ((View) mapView.findViewById(Integer.parseInt("1")).getParent()).findViewById(Integer.parseInt("2"));
// and next place it, on bottom right (as Google Maps app)
RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams)
locationButton.getLayoutParams();
// position on right bottom
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP, 0);
layoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
layoutParams.setMargins(0, 0, 30, 30);
}
}
Ich hoffe, dies wird Ihr Problem lösen. Vielen Dank.
Anstelle der findViewById-Lösungen habe ich findViewWithTag verwendet, um einen Verweis auf die Schaltfläche zu erhalten. Eine Saite zu benutzen erschien mir lesbarer und zuverlässiger.
View myLocationButton = mMap.findViewWithTag("GoogleMapMyLocationButton");
RelativeLayout.LayoutParams rlp = (RelativeLayout.LayoutParams) myLocationButton.getLayoutParams();
rlp.addRule(RelativeLayout.ALIGN_PARENT_TOP, 0);
rlp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
- 1. Android Google Mapv2-Symbol von URL
- 2. iPhone Standorttaste
- 3. Wie positioniere ich das Google Map Infowindow
- 4. Wie positioniere ich Menüpunkte in der Navigationsansicht?
- 5. Wie positioniere ich den Eingabetextcursor in C?
- 6. Wie positioniere ich Datenpunkte in d3 neu?
- 7. Wie positioniere ich iframes?
- 8. Wie positioniere ich eine UIView?
- 9. Wie positioniere ich einen Button in einem RelativeLayout über Code?
- 10. Wie kann ich meine Android-App Bewertungen und Info-Feed in meine Website von Google Play
- 11. wie ich automatisch meine Anwendung in Android
- 12. Wie kann ich meine Syntaxhervorhebung in Android
- 13. Wie kann ich meine Android App mit Google Drive verbinden?
- 14. Wie positioniere ich das Element in der Aktionsleiste?
- 15. Wie kann Google Checkout in meine Android App integriert werden?
- 16. Wie positioniere ich div's mit CSS?
- 17. Wie füge ich Werbung in meine Android Apps ein?
- 18. In Android, wie positioniere ich ein Bild übereinander, um wie ein Abzeichen auszusehen?
- 19. Wie bekomme ich meine Android-Fingerabdruck-Zertifikat in Android Studio
- 20. Wie positioniere ich div in der Mitte des Bildschirms?
- 21. Wie positioniere ich ein in UIKit erstelltes Steuerelement schnell?
- 22. Wie positioniere ich zwei Legenden unabhängig in ggplot
- 23. Wie positioniere ich eine Unteransicht in UIPageViewController mit Auto Layout?
- 24. Wie positioniere ich ein Element in einer WPF-Rasterspalte?
- 25. Wie positioniere ich Elemente in einer komprimierten Navigationsleiste (Boostrap 3)?
- 26. Wie positioniere ich ein Eingabeformular in der Mitte einer Seite?
- 27. Wie positioniere ich divs innerhalb des Headers?
- 28. Ändern Sie meine Position Knopfposition in Google Map ios
- 29. Wie positioniere ich zwei Divs über jedem
- 30. Wie kann ich meine Kommentare in Google teile von addthis
bitte hilfe, Wie kann ich eine Schaltfläche oben auf einer Karte hinzufügen. und wie ich meinen Standort von der neu hinzugefügten Schaltfläche abrufen kann. –
Es wäre besser, eine neue Frage dazu zu eröffnen. –
Wenn ich den MyLocationButton deaktiviere, wie kann ich den Standort auf ähnliche Weise anzeigen? –