2012-03-06 51 views
11

Tôi cần hiển thị một số chú giải công cụ đẹp mắt với hình ảnh và văn bản trên di chuột của dấu bản đồ google.
marker.setTitle - chỉ hoạt động với văn bản nhưng không phải bằng html
Google map api có giải pháp tiêu chuẩn không?
Bạn có thể đề xuất lib tạo chú giải công cụ và làm cho chúng trông đẹp mắt không?Cách thêm chú giải công cụ tùy chỉnh cho điểm đánh dấu trên bản đồ google?

Trả lời

3

Bạn có thể nghe sự kiện mouseover trên điểm đánh dấu và kích hoạt infoWindow để xuất hiện cùng với sự kiện đó.

Một khi bạn có infowindow, bạn có thể đặt hình ảnh và văn bản trong đó theo cách được hỗ trợ bởi api.

+0

có, nhưng infoWindow khó tùy chỉnh. Nó có thiết kế được xác định trước. InfoBox là proffered cho tôi. –

4

Đây là những gì tôi đã làm trong một dự án nếu bạn muốn có giải pháp DIY.

  1. Tạo div ẩn trên trang của bạn với vị trí css được đặt thành tuyệt đối. Đảm bảo DIV của bạn xuất hiện ở đầu vùng chứa bản đồ (chỉ mục z).
  2. Ràng buộc các sự kiện di chuột qua và di chuột tới điểm đánh dấu của bạn để kích hoạt hàm showDiv/hideDiv.
  3. Khi chuột di chuyển một điểm đánh dấu, hãy di chuyển chuột x, y vị trí, đặt giá trị css DIV trên cùng và bên trái cho phù hợp và đặt css để hiển thị: khối;
  4. Khi chuột ra, hãy ẩn lại DIV.

Bằng cách này bạn thực sự có thể kiểm soát cách "infowindow" xuất hiện và nội dung sẽ chứa. Chúc may mắn.

+0

Nếu bạn xử lý sự kiện di chuột qua điểm đánh dấu bằng cách sử dụng google.maps.event.addListener, tất cả đối tượng sự kiện có chứa lat và dài, do đó bạn không nhận được vị trí x, y của chuột. Điều đó làm cho cách tiếp cận này không thể thực hiện được. – Justin

+0

Tôi không nói bạn có được vị trí chuột từ trình nghe đánh dấu. Nhận nó từ DOM như bạn sẽ làm trong bất kỳ kịch bản khác. – MrUpsidown

0

Oleg, tại sao bạn bị ràng buộc vào api bản đồ google. Bạn có thể chèn chú giải công cụ tùy chỉnh vào DOM.

Đính kèm trình xử lý sự kiện cho người di chuột, người di chuột và người nghe trên bản đồ (hoặc các phần cụ thể của bản đồ). Mỗi người nghe cũng cung cấp cho bạn một đối số cho bạn các tọa độ chuột.

Sử dụng một phong cách cố định/tuyệt đối về css của tooltip cho đặt nó

khi rê chuột, tiêm các tooltip tại vị trí con trỏ vào DOM trên MouseMove, cập nhật vị trí (trái và trên cùng) khi di chuột ra, xóa chú giải công cụ khỏi DOM.

Gần đây, tôi đã tạo bản đồ này cho đa giác bản đồ google. Bạn có thể sử dụng lại cách tiếp cận của tôi cho bất kỳ phần nào khác của bản đồ của bạn vì hầu như mọi tính năng trên bản đồ google đều hỗ trợ các sự kiện.

liên kết: https://medium.com/@asimmittal/custom-tooltips-for-google-maps-in-pure-javascript-a8004b8e9458

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