Piszę aplikację na Androida za pomocą Google map-V2 API. Chcę przesuwać pasek akcji, tak jak w aplikacji mapy Google. I włączyłem przycisk "Moja lokalizacja". Problem polega na tym, że mój przycisk lokalizacji znajduje się pod paskiem akcji. Czy istnieje sposób na zmianę położenia tego przycisku. Chcę utworzyć aplikację podobną do Map. Jestem nowy na Androida, więc proszę o pomoc.Jak zmienić położenie przycisku mojej lokalizacji w Google Map2 w Androidzie?
Odpowiedz
Można ustawić padding na mapie.
To rozwiązało problem - nakładki na mapę na górze (użyłem 48 dipów, ale można nałożyć pasek akcji, a następnie uzyskać rzeczywistą wysokość It (android: atr/actionBarSize)?)
mapFragment.getMap().setPadding(0, dpToPx(48), 0, 0);
(DP do PX funkcja jest od this SO answer)
Ustawienie padding programowo działało dla mnie, podczas gdy ustawienie go w układzie xml nie było – Radu
Wystarczy użyć GoogleMap.setPadding (lewy, górny, prawy, dolny), który pozwala na wskazanie części mapy, które mogą być zasłonięte przez inne widoki. Ustawienie wypełnienia zmienia położenie standardowych elementów sterujących mapą, a aktualizacje aparatu będą wykorzystywać wyściełany region.
https://developers.google.com/maps/documentation/android/map#map_padding
Ładna sztuczka. Jak uzyskać bieżące wypełnienie? Metoda GoogleMap.getPadding() nie istnieje ... – Wooff
Możesz zmienić swój przycisk lokalizacji łatwo
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);
można również ustawić dopełnienie po ustawieniu dostosowania przycisku lokalizacji
mMap.setPadding(0, 0, 30, 105);
Jak ustawić na dole | lewo? –
Musisz użyć aMap.setPadding. Ta metoda jest odpowiedzialna za ustawienie położenia obrazu ICON położenia. – Ramkailash
I rozwiązać ten problem w moim fragmencie mapy poprzez ponowne pozycjonowanie mojego loc Przycisk acji w prawym dolnym rogu widoku przy użyciu kodu poniżej, tu jest moje mapy Activity.java: -
dodać tej linii kodu w onCreate metoda(),
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapView = mapFragment.getView();
mapFragment.getMapAsync(this);
i tutaj jest onMapReady () kod: -
@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);
}
}
Mam nadzieję, że rozwiąże to twój problem. Dzięki.
Zamiast rozwiązań findViewById użyłem findViewWithTag, aby uzyskać odniesienie do przycisku. Używanie sznurka wydawało mi się bardziej czytelne i rzetelne.
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. Jak zmienić język przycisku logowania Google?
- 2. Jak zwolnić położenie animacji kamery w Google Maps na iOS?
- 3. Jak zmienić tytuł przycisku Zaloguj się w Google Plus?
- 4. Jak zmienić położenie pulpitu Mac w kakao?
- 5. Przenieś położenie przycisku po jego pobraniu.
- 6. Jak zmienić szerokość przycisku w tekst przycisku?
- 7. Jak zmienić styl DatePicker w Androidzie?
- 8. pyCairo: Jak zmienić rozmiar i położenie obrazu?
- 9. zmiana lokalizacji w Androidzie w zmianie orientacji
- 10. Jak zmienić ciąg znaków w obiekt lokalizacji?
- 11. Android Mapy Google V2 zmieniają ikonę mojej lokalizacji
- 12. Jak zmienić kolor tła przycisku przełącznika na Androidzie
- 13. Odświeżenie lokalizacji przycisku mapy
- 14. Jak zmienić język com.facebook.widget.LoginButton na Androidzie
- 15. Jak zmienić położenie pliku skryptu lub stylu z nuget?
- 16. Jak uzyskać mapę Google apikey w Androidzie
- 17. Jak zmienić stan przycisku w pliku angular.js?
- 18. Jak zmienić obraz przycisku Wyślij w JSQMessagesController
- 19. Jak zmienić tekst przycisku w JQuery
- 20. Jak zmienić kolor przycisku w android studio
- 21. Okrągły przycisk w Androidzie .. unikać naciśnięć przycisku "na zewnątrz" przycisku?
- 22. Pozycjonowanie Google maps v2 powiększanie kontroli w Androidzie
- 23. Jak mogę zmienić lokalizację mojej strony internetowej w Windows Azure?
- 24. mogę zmienić przycisk lokalizacja w Android Maps
- 25. Jak zmienić nazwę wydawcy w Google Play
- 26. Jak dostosować przedział czasu przycisku długi/opóźniony wciśnięty w Androidzie
- 27. Aktualny markerem położenie w przeglądarce (niebieskie kółko)
- 28. Bootbox js: Zmień położenie przycisku Ok
- 29. Nie mogę wyświetlić mojej lokalizacji w Mapach Google w iOS 8
- 30. Zdobądź klucz HashMap w Androidzie przez położenie lub indeksu
proszę o pomoc, Jak mogę dodać przycisk na górze mapy. i jak uzyskać moją lokalizację z nowo dodanego przycisku. –
Byłoby lepiej otworzyć nowe pytanie na ten temat. –
jeśli wyłączam MyLocationButton w jaki sposób mogę pokazać lokalizację w podobny sposób? –