2013-04-08 59 views
5

Có cách nào để tắt tính năng phóng to (kẹp và nhấn đúp) trong MapView nhưng vẫn giữ cuộn?Google Maps Android MapView v2: vô hiệu hóa thu phóng

Điều này có nghĩa là cài đặt có thể nhấp vào sai sẽ không hoạt động.

Tôi cũng đã cố gắng thiết lập một onTouch listener trong activity nhưng nó sẽ không kích hoạt sử dụng:

mapView.setOnTouchListener(this); 

Trả lời

7

Bạn có thể gán các thuộc tính bằng cách sử dụng XML file:

map:uiRotateGestures="true" 
    map:uiScrollGestures="true" 
    map:uiTiltGestures="true" 
    map:uiZoomGestures="true" 

Vì vậy, hãy sử dụng:

map:uiZoomGestures="false" 

Đối tượng MapFragment.

+0

Giải pháp này không hoạt động khi thêm mã ở trên vào Phân đoạn bản đồ của tôi trong xml. @ JRichardsz câu trả lời là chính xác. Sau khi triển khai "map.getUiSettings(). SetZoomGesturesEnabled (false);" Tôi đã tắt thành công thu phóng. –

15
import com.google.android.gms.maps.GoogleMap; 

public void onMapReady(GoogleMap map) { 
... 
map.getUiSettings().setZoomGesturesEnabled(false); 

UiSettings Documentation

+1

Đây là câu trả lời đúng !! Cảm ơn @laalto – JRichardsz

1

U cũng có thể thử một số điều như thế ..

Chú ý: Phương pháp này sẽ vô hiệu hóa zoom trong chức năng ra/cho giao diện người dùng đồ Google

Trên hai câu trả lời là đúng theo câu hỏi hỏi. Cảm ơn David vì đã cập nhật cho tôi.

GoogleMap myMap; 

myMap.getUiSettings().setZoomControlsEnabled(false); 

Đối với phương pháp nào hơn dành cho Google Map UI ..

https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/UiSettings#setZoomControlsEnabled(boolean)

+0

Điều này không tắt tính năng phóng to thu nhỏ và/hoặc phóng to tab kép, nó chỉ vô hiệu hóa các nút +/- thu phóng được hiển thị theo mặc định trên bản đồ. – dm78

+0

yup David .. Nó không vô hiệu hóa tài sản pinch .. Bởi sai lầm tôi đã đề cập câu trả lời này. Giải pháp của tôi vô hiệu hóa tùy chọn thu phóng từ giao diện người dùng. Câu trả lời được đề cập ở trên là chính xác. Ngoài ra câu trả lời của laato là chính xác hơn. Cảm ơn bạn đã cập nhật cho tôi. Cập nhật mới. – AndroidHacker

1

đây là ví dụ về Kotlin:

map.uiSettings.setAllGesturesEnabled(false) 
Các vấn đề liên quan