2013-07-01 5 views
8

투명한 액션 바를 만들었지 만 확대/축소 컨트롤과 'Google'이라는 단어가 뒤에 있습니다. 위치를 조정하는 방법에 대한 단서가 없습니다. Android 휴대 전화의 기본 Google지도 앱은 맨 아래 작업 모음 위에 올려 놓았습니다. 확대/축소 컨트롤과 'Google'이라는 단어를 다시 배치 할 수 있습니까?Google지도 위치 지정 v2 Android의 컨트롤 확대

map.getUiSettings().setZoomControlsEnabled(true); 

enter image description here

답변

12

당신은 (2013 년 9 월 추가)를 GoogleMap.setPadding() 방법으로이 작업을 수행 할 수는 API 문서에서

map.setPadding(leftPadding, topPadding, rightPadding, bottomPadding); 

을 :

이 방법을 사용하면지도에서 가시 영역을 정의 할 수 있습니다, 지도의 네 가장자리 각각에 패딩을 설정하여 가장자리 주변의지도 부분이 가려 질 수 있다는 것을지도에 알리기 위해 맵 기능은 패딩에 맞게 조정됩니다. 예를 들어, 줌 컨트롤, 나침반, 저작권 표시 및 Google 로고가 정의 된 영역의 내부에 들어가도록 이동합니다, 카메라의 움직임은

는 또한 description of how padding works in GoogleMap를 볼 등, 가시 영역의 중심을 기준으로 할 것이다.

1

불행하게도 당신이 그들을 해제 할 수 Google지도와 함께 제공되는 줌 컨트롤을 이동하고 사용자 정의를 만들 수있는 방법은 없습니다 :

은 당신이 사용/사용으로 컨트롤을 비활성화 할 수 있습니다 알고 확대/축소 컨트롤을 클릭하고지도의 맨 위에 놓습니다.

+0

이 질문은 구식이며 Mark Doliners의 답변을 참조하십시오. – Warpzit

+0

이것이 2013 년에 응답 된 waaaay를 다시 고려한 것입니다 ... js – yams

1

나는 이것이 당신에게 도움이 될 것이라고 생각합니다. 비슷한 레이아웃을 구현하려고하는데, 내 솔루션은 카메라 업데이트시 3 초 같은 시간 간격으로 컨트롤을 숨기려고했습니다.

저는 이것이 사용자 지정 컨트롤을 구현하지 않고도 최상의 솔루션이라고 생각합니다.

mapFragment.setOnCameraChangeListener(new OnCameraChangeListener() { 

      @Override 
      public void onCameraChange(CameraPosition position) { 
       mapFragment.getUiSettings().setZoomControlsEnabled(true); 
       Timer t = new Timer(); 
       TimerTask tt = new TimerTask() { 

        @Override 
        public void run() { 
         getActivity().runOnUiThread(new Runnable() { 

          @Override 
          public void run() { 
           mapFragment.getUiSettings().setZoomControlsEnabled(false); 

          } 
         }); 

        } 
       }; 

       t.schedule(tt, 3000); 


      } 

     }); 

이것은 주로 개념 증명이었습니다. 그러나 그것은 효과가있다.

+0

이렇게하면 그냥 숨 깁니다. 4.4로 투명 작업 모음을 만들 수있는 것 같습니다. 나는 그들이 당신이 그들을 kitkat로 옮길 수 있다고 생각합니다. – ono

+0

지도가 움직일 때만 그들을 보여주고 그렇지 않으면 숨기는 것이 아이디어였습니다. 내가 아직 그들을 움직일 수있는 방법을 찾지 못했기 때문에 해결 방법이었습니다. – wapples

관련 문제