Ý tôi là nếu tôi nhấp vào điểm đánh dấu OnMarkerClickListener
sẽ được gọi, do đó, OnMapClickListener
thì không. Ngay cả khi tôi đặt đối tượng điểm đánh dấu mMap.setOnMarkerClickListener(null);
vẫn che dấu tất cả các sự kiện nhấp chuột cho bản đồ và đối tượng cơ bản. Làm cách nào để tôi có thể đặt Marker
minh bạch cho tất cả các vi phạm của người dùng?API Google Maps phiên bản 2: Cách tạo điểm đánh dấu không thể nhấp được?
Trả lời
Đây thực sự là "giới hạn" của điểm đánh dấu là phiên bản 3.1.59 của thư viện.
Nếu bạn thực sự cần chúng là điểm đánh dấu, vui lòng gửi yêu cầu tính năng trên gmaps-api-issues cho MarkerOptions.clickable
và Marker.setClickable
.
Nếu bạn có thể, hãy xem xét sử dụng các đối tượng trực quan khác, ví dụ: GroundOverlay
. Vấn đề duy nhất là tất cả chúng đều có tỷ lệ với bản đồ, không giống như các điểm đánh dấu. Điểm gần nhất sẽ là Circle
với bán kính bằng 0 và chiều rộng đột quỵ 20-50 dp, nhưng đó chỉ là một chấm màu duy nhất.
Theo số docs về điểm đánh dấu, nếu bạn thêm Trình nghe của riêng mình và phương thức onMarkerClick() trả về false, hành vi mặc định sẽ được thực hiện.
Vì vậy, trong onMarkerClick() vừa trả về true và không làm gì khác để ghi đè hoàn toàn mặc định.
Cách giải quyết duy nhất tôi tìm thấy cho vấn đề này là để thực hiện cùng một mã trong OnMarkerClickListener
mà bạn có trong OnMapClickListener
và trở false
:
getMap().setOnMarkerClickListener(new OnMarkerClickListener() {
public boolean onMarkerClick(Marker marker) {
onMapClick(marker.getPosition());
return true;
}
});
Giải pháp này không hoạt động vì onMarkerClick cung cấp cho bạn vị trí của điểm đánh dấu mà nó xác định là gần nhất với nơi bạn nhấp vào, không phải nơi bạn thực sự nhấp vào. – Justin
- 1. Cách di chuyển điểm đánh dấu trong API Google Maps
- 2. Google Maps API Nhiều Điểm đánh dấu với Infowindows
- 3. Google maps api v2 phóng to gần điểm đánh dấu
- 4. Thêm nhiều điểm đánh dấu với infowindows (API Google Maps)
- 5. Tắt hành vi nhấp chuột của điểm đánh dấu POI trong API JS Maps của Google Maps
- 6. Điểm đánh dấu Bouncy trong Google Maps v3
- 7. API Google Maps v3 recenter bản đồ cho một điểm đánh dấu
- 8. API Google Maps Android: Ẩn đoạn mã đánh dấu
- 9. Cách sử dụng google maps API với nhiều điểm đánh dấu trên cùng một bản đồ
- 10. Google Maps API: mở url bằng cách nhấp vào dấu
- 11. API Google Maps v3: Các sự kiện nhấp không được kích hoạt trong firefox cho điểm đánh dấu tùy chỉnh
- 12. kích hoạt điểm đánh dấu bản đồ google nhấp
- 13. Có thể hiển thị/ẩn Điểm đánh dấu trong Android Google maps api v2 không?
- 14. Google Maps v3 - Điểm đánh dấu không hiển thị
- 15. Điểm đánh dấu hoạt ảnh trên Google Maps v2
- 16. Biểu tượng điểm đánh dấu thay đổi API bản đồ google v3 khi nhấp chuột?
- 17. Google Maps v3 đặt điểm đánh dấu đơn trên bản đồ, hãy nhấp vào
- 18. Điểm đánh dấu API bản đồ Google v3 chồng chéo
- 19. API Google Maps v3: Các điểm đánh dấu không bị xóa
- 20. Google Maps API v2 Android thêm hình dạng có thể drawable làm điểm đánh dấu
- 21. Api của Google Maps: Cách thêm điểm đánh dấu và bong bóng thoại?
- 22. Lập trình nhấp vào điểm đánh dấu và bản đồ
- 23. Remove đánh dấu trong Google Maps Api v3
- 24. Thêm chức năng Đánh dấu bằng API Google Maps
- 25. Google Maps: Hiển thị điểm đánh dấu phía trên markerclusterer
- 26. URL cho nhiều điểm đánh dấu trong Google Maps
- 27. Ẩn cửa sổ thông tin điểm đánh dấu trong android google maps API v2
- 28. Google maps api không đặt điểm đánh dấu ở vị trí tốt
- 29. Tôi có thể thay đổi điểm đánh dấu trong bản đồ được nhúng của Google Maps (iframe) không?
- 30. Đánh dấu bitmap định tâm (Google Maps API Android v2)
tôi cố gắng 'onMarkerClick (Marker arg0) {return true;} 'nhưng 'onMapClick' vẫn chưa được gọi. Tôi nghĩ rằng lời giải thích của tài liệu có nghĩa là nếu tôi trả về 'true' thì không có hành vi mặc định nào xảy ra (infoWindow), chỉ mã của tôi, mà tôi đăng trong' onMarkerClick' –
Hãy thử điều này: trong onMarkerClick thêm dòng 'onMapClick (marker.getPosition()) ; ' –
Tôi đã nghĩ về nó. Trong trường hợp này sẽ là một lỗi lớn. Tôi sẽ làm theo cách này nếu không tìm thấy giải pháp nào khác –