Кликируемые карты континентов/стран: какой путь?

Существует множество веб-сайтов, которые включают интерактивные карты, которые выделяют регионы на mouseover и позволяют пользователю сузить выбор с карты мира до уровня континента. Вот интересный пример: davidlynch.org.

Многие из этих интерактивных карт реализованы с использованием карт изображений HTML, а другой вариант - использовать API Google GeoChart. Что касается опции карт изображений HTML, мне интересно, где люди получают все "исходные данные", все полигоны страны и региона. Есть ли бесплатный ресурс для этого? Что касается опции Google GeoChart, мне интересно, масштабируемо ли это или количество вызовов API как-то ограничено?

Есть ли у кого-нибудь советы по доступности бесплатной библиотеки, которая позволяет осуществлять прямую реализацию интерактивных карт с настраиваемыми регионами?

Ответы

Ответ 1

Ну, это не проблема, которая может быть помечена как "геокодирование".

Поскольку я играл с Raphael.js в эти дни, я думал об этом lib, читая ваше название вопроса. Я также помню, что в общине Википедии размещена карта мира SVG. Raphael помогает вам манипулировать svg файлами, так что это может быть хорошим способом. В любом случае, после поиска критериев "raphael" я нашел беседу, соответствующую вашему запросу. Итак, вот оно: http://groups.google.com/group/raphaeljs/browse_thread/thread/46b5402c677ce274/7ff6a6a8d8f5f9fa?pli=1

Есть несколько скриптов утилиты, а также ссылка на файл svg world, упомянутый выше, и живые примеры (и ссылки на темы Stack Exchange).
Конечно, есть работа, и может быть проще вызвать непосредственно google api.

В моем опыте API-интерфейсов gmaps вам нужно сделать много запросов в секунду, чтобы попасть в черный список Google. Например, когда вы запускаете тяжелый пакетный инструмент геокодирования. Так что это зависит от вашего проекта, но я бы счел вполне безопасным его использовать, даже если ваша страница популярна.

[EDIT]: Сейчас на веб-сайте RaphaelJs есть демо-версия Kartograph. Он действительно молод, но выглядит многообещающим.

Ответ 3

Я второй raphael.js, это хорошая библиотека для рисования фигур со всеми видами взаимодействия с пользователем. В качестве примера вы можете посмотреть этот проект, который представляет собой векторную карту России, реализованную поверх Raphael.js. Это позволяет программно выделять регионы.