2009-05-28 43 views
17

Có cách nào để luôn hiển thị các điều khiển thu phóng trên MapView không? Tôi đã thêm các điều khiển thu phóng bằng cách sử dụngLuôn hiển thị các điều khiển thu phóng trên MapView

map=(MapView)findViewById(R.id.map); 
map.setBuiltInZoomControls(true); 

nhưng các điều khiển thu phóng mờ dần vào và ra. Tôi muốn họ luôn luôn được nhìn thấy.

Trả lời

21

Giải Quyết này bằng cách đặt ZoomControls của riêng tôi trong cách bố trí xml của tôi:

<ZoomControls android:id="@+id/zoomcontrols" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" /> 

và sau đó thiết lập onClickListeners cho sau đó để xử lý các zoom: giải pháp

zoomControls = (ZoomControls) findViewById(R.id.zoomcontrols); 
    zoomControls.setOnZoomInClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      mapController.zoomIn(); 
     } 
    }); 
    zoomControls.setOnZoomOutClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      mapController.zoomOut(); 
     } 
    }); 
14

Intrications' không làm việc, nhưng bạn mất chức năng tích hợp trong đó nút sẽ tắt khi bạn phóng to hoặc thu nhỏ tất cả. Bạn có thể giữ lại chức năng này bằng cách sử dụng lệnh sau:

localMapView.getZoomButtonsController().setAutoDismissed(false); 

Tuy nhiên, điều này không cho phép bạn đặt các điều khiển wherer bạn muốn trong bảng điều khiển, và mặc dù nó không biến mất, nó không hiển thị đầu tiên thời gian cho đến khi người dùng chạm vào màn hình một lần. Tôi đã thử gọi setVisible(true) trên bộ điều khiển, nhưng điều đó dường như không hoạt động vì một số lý do.

Các vấn đề liên quan