Tôi hiện đang làm việc với bộ bản đồ và bị mắc kẹt.
Tôi đang sử dụng chế độ xem chú thích tùy chỉnh và tôi muốn sử dụng thuộc tính hình ảnh để hiển thị điểm trên bản đồ với biểu tượng của riêng tôi. Tôi có cái này hoạt động tốt. Nhưng những gì tôi cũng muốn làm là ghi đè chế độ xem chú thích mặc định (bong bóng hiển thị với tiêu đề / phụ đề khi chạm vào biểu tượng chú thích). Tôi muốn có thể tự kiểm soát chú thích: bộ bản đồ chỉ cung cấp quyền truy cập vào các chế độ xem chú thích phụ bên trái và bên phải, nhưng không có cách nào để cung cấp chế độ xem tùy chỉnh cho bong bóng chú thích hoặc để cung cấp cho nó kích thước bằng 0 hoặc bất kỳ thứ gì khác.
Ý tưởng của tôi là ghi đè selectAnnotation / deselectAnnotation trong của tôi MKMapViewDelegate
, sau đó vẽ chế độ xem tùy chỉnh của riêng tôi bằng cách gọi đến chế độ xem chú thích tùy chỉnh của tôi. Điều này hoạt động, nhưng chỉ khi canShowCallout
được đặt thànhYES
trong lớp chế độ xem chú thích tùy chỉnh của tôi. Các phương thức này KHÔNG được gọi nếu tôi đã đặt thiết lập này NO
(đó là những gì tôi muốn, để bong bóng chú thích mặc định không được vẽ). Vì vậy, tôi không có cách nào để biết liệu người dùng đã chạm vào điểm của tôi trên bản đồ (đã chọn nó) hoặc chạm vào một điểm không phải là một phần của chế độ xem chú thích của tôi (đã cắt nó) mà không có chế độ xem bong bóng chú thích mặc định hiển thị.
Tôi đã thử đi xuống một con đường khác và chỉ tự mình xử lý tất cả các sự kiện chạm trong bản đồ và dường như tôi không thể làm việc này. Tôi đã đọc các bài đăng khác liên quan đến bắt các sự kiện chạm trong chế độ xem bản đồ, nhưng chúng không chính xác như những gì tôi muốn. Có cách nào để tìm hiểu chế độ xem bản đồ để loại bỏ bong bóng chú thích trước khi vẽ không? Tôi thua thiệt.
Bất kỳ đề xuất? Tôi có thiếu một cái gì đó rõ ràng không?