2012-01-17 24 views
15

Có nhiều trang web bao gồm các bản đồ có thể nhấp để làm nổi bật các vùng trên mouseover và cho phép người dùng thu hẹp lựa chọn từ chế độ xem bản đồ thế giới sang một mức lục địa. Đây là một ví dụ thú vị: davidlynch.org.Bản đồ lục địa/quốc gia có thể nhấp: có cách nào để đi?

Nhiều bản đồ có thể nhấp này được triển khai với bản đồ hình ảnh HTML, trong khi một tùy chọn khác là sử dụng ví dụ Google's GeoChart API. Liên quan đến tùy chọn bản đồ hình ảnh HTML, tôi tự hỏi nơi mọi người nhận được tất cả 'dữ liệu thô', tất cả các quốc gia và các đa giác trong vùng. Có tài nguyên miễn phí cho điều đó không? Về các tùy chọn Google GeoChart, tôi tự hỏi nếu đó là khả năng mở rộng hoặc nếu số lượng các cuộc gọi API bằng cách nào đó bị giới hạn?

Có ai có một số lời khuyên về tính khả dụng của thư viện miễn phí cho phép triển khai đơn giản các bản đồ có thể nhấp với các khu vực tùy chỉnh không?

Trả lời

7

Vâng, đó không thực sự là vấn đề có thể được gắn thẻ 'mã hóa địa lý'.

Vì tôi đã từng chơi với Raphael.js những ngày này, tôi đã nghĩ đến nội dung này khi đọc tiêu đề câu hỏi của bạn. Tôi cũng nhớ Wikipedia commons đã tổ chức một bản đồ SVG của thế giới. Raphael giúp bạn thao tác tập tin svg, do đó, đó có thể là một cách tốt đẹp để đi. Dù sao thì, sau khi tìm kiếm bằng 'raphael' tiêu chí, tôi đã tìm thấy một cuộc hội thoại khớp chính xác với yêu cầu của bạn. Vì vậy, có: http://groups.google.com/group/raphaeljs/browse_thread/thread/46b5402c677ce274/7ff6a6a8d8f5f9fa?pli=1

Có một số tập lệnh tiện ích cũng như liên kết tới tệp thế giới svg được đề cập ở trên và ví dụ trực tiếp (và liên kết đến chủ đề Stack Exchange).
Chắc chắn có việc phải làm và có thể dễ dàng gọi trực tiếp hơn cho api của google.

Theo kinh nghiệm của tôi về API gmaps, bạn phải thực hiện nhiều yêu cầu mỗi giây để bị đưa vào danh sách đen bởi google. Giống như khi bạn khởi chạy công cụ mã hóa địa lý hàng loạt nặng. Vì vậy, nó phụ thuộc vào dự án của bạn nhưng tôi sẽ xem xét khá an toàn để sử dụng nó ngay cả khi trang của bạn là phổ biến.

[EDIT]: Hiện tại có live demo on RaphaelJs website.

[EDIT một lần nữa]: Và giờ đây, một quy trình sản xuất hoàn chỉnh dựa trên Python và Raphael tồn tại: Kartograph. Nó thực sự trẻ nhưng trông đầy hứa hẹn.

0

Tôi thứ hai là raphael.js, đây là thư viện tuyệt vời để vẽ các hình dạng với tất cả các loại tương tác của người dùng. Ví dụ: bạn có thể xem this project, là bản đồ vectơ của Nga, được triển khai trên đầu trang của Raphael.js. Nó cho phép làm nổi bật các vùng theo lập trình.

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