Tôi có MapView
với một số lớp phủ và một phân lớp của MyLocationOverlay
trên đầu trang vì chúng tôi muốn vị trí hiện tại của người dùng hiển thị phía trên các điểm đánh dấu khác.MyLocationOverlay dispatchTap() không tuyên truyền
Tôi đang xử lý sự kiện onTap
để các điểm đánh dấu hiển thị bảng có thông tin về điểm đánh dấu được khai thác và nếu được nhấn bên ngoài điểm đánh dấu (ngay cả trong điểm đánh dấu vị trí), bảng sẽ ẩn.
Nếu tôi nhấp vào điểm đánh dấu hoặc ở vị trí trống, mọi thứ đều ổn, bảng điều khiển hiển thị hoặc ẩn như mong đợi, nhưng nếu tôi nhấp vào điểm đánh dấu vị trí không có gì xảy ra (nếu điểm đánh dấu vị trí vượt quá điểm đánh dấu khác thì thông tin sẽ không hiển thị t hiển thị và nếu nó ở bên ngoài và thông tin hiển thị nó không ẩn).
Trong MyLocationOverlay
tôi overrided dispatchTap()
chức năng làm cho nó trở lại sai như đã nêu trong docs:
Returns: True nếu máy này được xử lý; sai nếu nó được gửi đến các lớp phủ khác.
nhưng vẫn không hoạt động, thậm chí tôi đã cố gắng trở thành sự thật chỉ trong trường hợp, nhưng không có gì ...
Bất kỳ ai biết làm thế nào để tuyên truyền các sự kiện onTap
các lớp phủ khác?
là dispatchTap thực sự được gọi? (nó sẽ trả về false theo mặc định). Bạn đã thử overriding boolean onTouchEvent công cộng (android.view.MotionEvent e, MapView mapView) để xem nếu thats nhận được gọi là? – Dori