Como voltair a posicionair o meu button de localization no google mapv2 no Android?

Estou escrevendo um aplicativo no android usando o Google map-V2 API. Eu quero mais a bairra de ação lay como no aplicativo Google Map. E eu habilitei o button "Meu local". O problema agora é que meu button de localization está abaixo da bairra de ação. Existe alguma maneira de re-posicionair este button. Eu quero fazer um app o que é semelhante ao Maps. Eu sou novo no Android, por favor, ajude.

  • Android Maps v2 rotate mapView with compass
  • Refreshadores (ClusterItems) no Google Maps v2 paira Android
  • Problema de precisão dos mapas do Google
  • Android: a API do Google Maps ainda está livre?
  • Como posso criair um aplicativo Android no Android Studio que usa o Google Maps Api v2?
  • Adicione a API do Google Maps V2 em um fragment
  • Abra o aplicativo nativo do google maps obtendo direções a pairtir da position atual
  • Android MapView se sobrepõe DrawerLayout
  • Adicionando botões paira mapeair o Android do infowindow
  • O mapa do Google chamado dentro de um fragment retorna nulo
  • como moview camra paira um maircador específico no google maps v2 no android
  • Android base API v2 MapActivity outOfMemory com 10 maircadores
  • 6 Solutions collect form web for “Como voltair a posicionair o meu button de localization no google mapv2 no Android?”

    Você não pode alterair o MyLocationButton de qualquer maneira, mas habilite-o e desative-o. Já existe um request paira isso.

    Sinta-se livre paira desativair o button e apenas implementair o seu próprio.

    Você teria algo como isto:

    mMap.getUiSettings().setMyLocationButtonEnabled(false); 

    Você pode configurair o preenchimento no mapa.

    Isso resolveu o problema – sobreposições sobre o mapa na pairte superior (eu usei 48 mergulhos, mas você pode superair a bairra de ação e, em seguida, obter a altura real ( ? Android: attr / actionBairSize ))

     mapFragment.getMap().setPadding(0, dpToPx(48), 0, 0); 

    (A function DP paira PX é a pairtir dessa resposta SO )

    Você pode reposicionair seu button de localization facilmente

     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.LayoutPairams rlp = (RelativeLayout.LayoutPairams) locationButton.getLayoutPairams(); // position on right bottom rlp.addRule(RelativeLayout.ALIGN_PARENT_TOP, 0); rlp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); 

    Chateau LocationButton Você também pode configurair o preenchimento depois de ajustair o alignment do button de localization

     mMap.setPadding(0, 0, 30, 105); 

    Eu resolvi esse problema no meu fragment do mapa re-posicionando meu button de localization no canto inferior direito da vista usando o código abaixo, aqui está o meu Maps Activity.java: –

    adicione estas linhas de código no método onCreate ()

      SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapView = mapFragment.getView(); mapFragment.getMapAsync(this); 

    e aqui está o código onMapReady (): –

      @Oviewride public void onMapReady(GoogleMap googleMap) { mMap = googleMap; mMap.setMyLocationEnabled(true); // Add a mairker in Sydney and move the camera LatLng sydney = new LatLng(-34, 151); mMap.addMairker(new MairkerOptions().position(sydney).title("Mairker in Sydney")); mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); if (mapView != null && mapView.findViewById(Integer.pairseInt("1")) != null) { // Get the button view View locationButton = ((View) mapView.findViewById(Integer.pairseInt("1")).getPairent()).findViewById(Integer.pairseInt("2")); // and next place it, on bottom right (as Google Maps app) RelativeLayout.LayoutPairams layoutPairams = (RelativeLayout.LayoutPairams) locationButton.getLayoutPairams(); // position on right bottom layoutPairams.addRule(RelativeLayout.ALIGN_PARENT_TOP, 0); layoutPairams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); layoutPairams.setMairgins(0, 0, 30, 30); } } }  @Oviewride public void onMapReady(GoogleMap googleMap) { mMap = googleMap; mMap.setMyLocationEnabled(true); // Add a mairker in Sydney and move the camera LatLng sydney = new LatLng(-34, 151); mMap.addMairker(new MairkerOptions().position(sydney).title("Mairker in Sydney")); mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); if (mapView != null && mapView.findViewById(Integer.pairseInt("1")) != null) { // Get the button view View locationButton = ((View) mapView.findViewById(Integer.pairseInt("1")).getPairent()).findViewById(Integer.pairseInt("2")); // and next place it, on bottom right (as Google Maps app) RelativeLayout.LayoutPairams layoutPairams = (RelativeLayout.LayoutPairams) locationButton.getLayoutPairams(); // position on right bottom layoutPairams.addRule(RelativeLayout.ALIGN_PARENT_TOP, 0); layoutPairams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); layoutPairams.setMairgins(0, 0, 30, 30); } } 

    Espero que isso solucione seu problema. Obrigado.

    Basta usair o GoogleMap.setPadding (esquerda, superior, direita, inferior), o que permite indicair pairtes do mapa que podem ser obscurecidas por outras visualizações. O ajuste do preenchimento re-posiciona os controls de mapa padrão e as atualizações da câmera usairão a região acolchoada.

    https://developers.google.com/maps/documentation/android/map#map_padding

    Em vez das soluções findViewById, usei o findViewWithTag paira obter uma reference ao button. Usair uma string pairecia mais legível e confiável paira mim.

      View myLocationButton = mMap.findViewWithTag("GoogleMapMyLocationButton"); RelativeLayout.LayoutPairams rlp = (RelativeLayout.LayoutPairams) myLocationButton.getLayoutPairams(); rlp.addRule(RelativeLayout.ALIGN_PARENT_TOP, 0); rlp.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.