Как сделать карту javascript
Лучшие библиотеки и API JavaScript для создания карт
Сокращенный перевод статьи «Top JavaScript maps API and libraries».
Большинство приложений и сайтов, которыми мы пользуемся сегодня, показывают местоположение и различные данные на картах. Карты используются повсюду: от сайтов доставки еды до онлайн-магазинов и сложных приложений для логистических компаний. Они очень широко используются в веб-дизайне, и если они представляют какие-то данные, мы обычно ожидаем, что отображение будет интерактивным. Отображаться на карте могут, например, дочерние предприятия международной компании, статистические данные по странам, пункты назначения.
Заранее подготовленные карты помогают людям найти физическое местоположение вашей компании, не тратя на это лишнее время.
Занимаясь разработкой приложений, вы неизбежно столкнетесь с необходимостью работы с картами. Какие инструменты использовать для этого? Платные или с открытым исходным кодом? Какие-то отдельные программы или веб-сервисы?
Google Maps это хорошее решение, но не единственное и не всегда подходящее. Например, «гуглокарты» не предоставляют таких возможностей кастомизации, как добавление дополнительных виджетов для большей интерактивности ваших карт. Кроме того, вам могут понадобиться специальные карты для конкурсов, исследований, путешествий, походов и прочих целей. Вот почему вам могут пригодиться open-source решения.
Инструменты и библиотеки JavaScript для создания карт и работы с ними
Некоторые из этих инструментов могут существенно снизить количество усилий, необходимых для создания интерактивных карт. Многие из них позволяют реализовывать все виды динамических карт при помощи всего лишь нескольких строчек кода.
Вы можете персонализировать карты, придав им желаемый стиль (некоторые из них можно видоизменять при помощи CSS) или нужную степень интерактивности.
Leafletjs
Сайт: https://leafletjs.com/
Звезд на GitHub: 25807, https://github.com/Leaflet/Leaflet/
Цена: бесплатно
Источник данных для карт: OpenStreetMap
Зависимости: нет
Лицензия: BSD 2-Clause “Simplified” License
Категория: библиотека
Examples/Demo/Gallery: https://leafletjs.com/examples.html
Leaflet это одна из лучших библиотек JavaScript для создания mobile-friendly интерактивных карт. Она относительно маленькая, но при этом имеет множество функций и плагинов, простой API и работает во всех браузерах и на всех платформах.
Маленький размер делает Leaflet отличным вариантом для мобильных приложений и ситуаций, когда время загрузки и вес имеют большое значение. Эта библиотека также имеет множество доступных плагинов, то есть, вы можете добавить практически любой функционал, доступный в значительно более объемных библиотеках.
Leaflet поддерживается ведущими мировыми компаниями: GitHub, Flickr, Facebook, Etsy и многими другими. Поскольку это проект с открытым исходным кодом, члены сообщества могут стать контрибуторами репозитория проекта и сделать его еще лучше.
Кроме того, Leaflet имеет хорошую документацию, а это особенно хорошо для начинающих. Также в интернете можно найти множество примеров использования этой библиотеки, созданных сообществом — это пригодится в случае, если вы вдруг застрянете. Много примеров можно найти и на домашней странице проекта.
Openlayers
Сайт: https://openlayers.org/
Звезд на GitHub: 5517, https://github.com/openlayers/openlayers
Цена: бесплатно
Источник данных для карт: OpenStreetMap
Зависимости: нет
Лицензия: 2-Clause BSD
Категория: библиотека
Примеры: https://openlayers.org/en/latest/examples/
OpenLayers это высокопроизводительный JavaScript-фреймворк с открытым исходным кодом, предназначенный для создания интерактивных карт при помощи различных сервисов. Вы можете выбрать сервер, предоставляющий слой карты.
Этот продукт «из коробки» готов к работе в мобильных приложениях и подходит для использования на различных устройствах и в различных браузерах. Чтобы самостоятельно определить внешний вид карты, можно использовать CSS. Реализовать карту в вашем проекте вам поможет специальное руководство.
OpenLayers также подходит для рендеринга векторных данных из GeoJSON, TopoJSON, KML, GML и других географических форматов данных.
Документация OpenLayers хорошо организована и предоставляет большое количество информации для разработчиков. На сайте OpenLayers вы найдете галерею с большой выборкой живых демок, а на GitHub доступны примеры кода.
Mapbox
Mapbox это одно из самых продвинутых решений для создания карт на данное время. Эта платформа создана опытными разработчиками и для разработчиков. Она предоставляет простой в использовании набор инструментов для создания прекрасных карт как для веба, так и для мобильных приложений. Пользователи получают полный контроль над стилем карты (включая фон). Есть множество крутых дополнительных сервисов, таких как спутниковые изображения, геокодирование или направления.
Платформа Mapbox предоставляет текстуры, иллюстрации, пользовательские маркеры, статичные карты, геокодирование и многое другое. Что касается оплаты, Mapbox имеет пять различных планов, от бесплатного начального плана до полномасштабного корпоративного.
Также платформа предлагает Mapbox Editor — онлайн-редактор, позволяющий пользователям быстро собирать карты с использованием собственных данных. Данные при этом можно импортировать из таблиц (файлы CSV), GeoJSON, KML или GPX.
Документация платформы хорошо спроектирована, ею легко пользоваться.
Google Maps API
Google Maps это безопасный выбор для каждого, начиная от неопытного веб-мастера и заканчивая опытным разработчиком. Этот проект существует уже достаточно долго и успел зарекомендовать себя в качестве лидера картографической индустрии. Можно добавить, что JavaScript API облегчает интеграцию Google Maps в любое приложение, сервис или сайт. Кроме того, пользователи WordPress могут найти множество плагинов для поддержки Google Maps на своем сайте (все они используют API для доставки конечного результата).
Datamaps
Сайт: https://datamaps.github.io/
Звезд на GitHub: 3245, https://github.com/markmarkoh/datamaps
Цена: бесплатно
Источник данных для карт: D3.js
Зависимости: D3.js и TopoJSON
Лицензия: MIT
Категория: библиотека
Примеры: https://datamaps.github.io/
DataMaps — интерактивные карты для визуализации данных, упакованные в простой файл JavaScript. Карты созданы на основе SVG, могут масштабироваться для любого размера экрана и очень зависят от D3.js. Поставляются готовые к использованию карты мира с обозначенными странами, карта США со штатами и комбинированная карта. Данные карт хранятся в виде JSON. Следуя их структуре, можно создавать пользовательские карты.
Jvectormap
jVectorMap это библиотека с открытым исходным кодом для создания интерактивных карт. Документации в обычном виде нет, но есть краткое руководство Getting Started, что тоже очень полезно.
JvectorMap использует только нативные браузерные технологии, такие как JavaScript, CSS, HTML, SVG или VML. Для работы не нужны ни Flash, ни любые другие проприетарные плагины браузеров. Благодаря этому jVectorMap работает во всех современных мобильных браузерах.
Bing Maps
Сайт: https://www.microsoft.com/en-us/maps/choose-your-bing-maps-api
Звезд на GitHub: –
Цена: бесплатно, пользовательский тариф (по запросу)
Источник данных для карт: Bing Maps
Зависимости: нет
Лицензия: Microsoft copyright
Категория: веб-приложение
Примеры: https://docs.microsoft.com/en-us/bingmaps/v8-web-control/index
Bing Maps от Microsoft это очень популярная картографическая платформа. Microsoft постоянно работает над добавлением нового функционала и различными улучшениями платформы.
Здесь есть прекрасный интерактивный набор инструментов разработки AJAX, предоставляющий примеры функций и сниппеты кода разработчикам, создающим приложения на JavaScript. Платформа Bing Maps предоставляет различные варианты API для приложений, включая Web Control, Windows Store apps control, WPF control, REST Services и Spatial Data Services.
Amcharts Map Chart
amMap это специальная картографическая библиотека JavaScript (HTML5), разработанная amCharts. Она не имеет внешних зависимостей и позволяет вам с легкостью создавать красивые фоновые, точечные и многие другие картограммы. Также эта библиотека поддерживает различные интерактивные функции.
Этот инструмент можно использовать для показа расположения офисов, маршрутов путешествий, создания карт дистрибьюторов и т. д. Продукт предлагает множество функций, например, вы можете использовать в качестве слоев и фона фотографии или картинки, а также подсвечивать локации и маршруты.
Kartograph
Сайт: http://kartograph.org/
Звезд на GitHub: 1519, https://github.com/kartograph/kartograph.js
Цена: бесплатно
Источник данных для карт: Kartograph
Зависимости: Kartograph.py, Raphael и jQuery
Лицензия: AGPL и LGPL
Категория: фреймворк
Примеры: http://kartograph.org/showcase/
Kartograph это простой и легковесный фреймворк для генерации SVG-карт без участия любых других картографических сервисов. Kartograph.js это библиотека JavaScript для создания интерактивных карт на базе SVG-карт Kartograph. Библиотека построена на Raphael и jQuery.
В Kartograph нет готовых к использованию коллекций карт, но эта библиотека работает с любыми SVG-картами, а также предлагает утилиту Kartograph.py для их создания.
Kartograph не лишен зависимостей (требует Raphael JS для рисования и jQuery). Благодаря документации библиотеки и справки по API (скомбинированным в одной статье) создавать интерактивные карты будет легко и приятно.
ArcGIS
ArcGIS API для JavaScript это легковесный способ встраивать карты в веб-приложения. Поставляется с большим количеством функций, примеров, упакованных виджетов и шаблонов.
Esri имеет очень хороший портал для разработчиков, продуманный и простой в использовании. Благодаря ему вы получаете доступ к ArcGIS APIs и SDKs, хорошую документацию, живые демки, примеры кода и многое другое.
Технология Esri используется в более чем 350 тыс. организаций по всему миру, из них больше двух третей это компании Fortune 500.
Zeemaps
ZeeMaps это картографический сервис корпоративного уровня, позволяющий вам с легкостью создавать и публиковать интерактивные карты, а также делиться ими. Вы можете конструировать динамические визуализации географической информации, создавая карты из вашего списка людей или мест. Например, вы можете создать карту мест, которые вы посещали, или карту адресов ваших клиентов (друзей, родственников). Все карты хранятся на их собственных серверах, а доступ к ним можно получить откуда угодно и в любое время, с любого стандартного веб-браузера на компьютере или мобильном устройстве.
Все дополнения к картам могут создаваться путем краудсорсинга. Это делает платформу очень удобной для использования группами людей. Среди отличительных особенностей создаваемых карт — сетки, значки, метки и пользовательские поля.
Этот инструмент предназначен для особого вида интерактивных карт: он позволяет вам создавать, публиковать и делиться картами для презентаций или геоанализа. ZeeMaps даст вам все те же функции, что и большинство других инструментов из нашего списка. Но помимо этого вы сможете брать входящие данные для карты из разных источников и устанавливать 3-уровневый доступ к картам.
Anymap от Anychart
AnyMap это одна из популярных JavaScript (HTML5) библиотек для создания диаграмм. С ее помощью вы сможете без особого труда создавать карты. Для ее работы не требуются сторонние библиотеки, такие как jQuery. AnyMap поддерживает все базовые типы карт.
Интерактивные функции AnyMap включают детализацию для понимания особенностей региона, модель событий для обработки действий вьюера карт и цветовую шкалу для автоматической раскраски карты в соответствии с вашими настройками.
Highmaps от Highcharts
Библиотека Highmaps это младшая сестра Highcharts и Highstock — популярных библиотек для создания диаграмм, разработанных норвежской компанией Highsoft. Основные преимущества этой библиотеки — открытый исходный код, легковесность, обеспечивающая высокую производительность рендеринга, и большое количество интерактивных функций.
Среди типов карт, поддерживаемых Highmaps, есть фоновые картограммы и пузырьковые карты. Также можно рисовать линии, чтобы изображать дорогу или реку. Однако карты-схемы создавать не так просто, как, например, с amMap или AnyMap.
Также стоит отметить, что ни Highcharts, ни Highmaps не могут работать без jQuery.
Из положительных свойств Highmaps стоит отметить то, что эта библиотека предоставляет готовые к использованию карты (SVG и GeoJSON). Документация довольно обширна и хорошо помогает быстро разобраться в настройках библиотеки.
Cesium
Сайт: https://cesiumjs.org/
Звезд на GitHub: 4941, https://github.com/AnalyticalGraphicsInc/cesium
Цена: бесплатно
Источник данных для карт: Cesium
Зависимости: нет
Лицензия: Apache License 2.0
Категория: библиотека
Примеры: https://cesiumjs.org/demos/
Cesium это картографическая библиотека JavaScript, работающая на базе WebGL. Поддерживает 3 режима просмотра: 3D-глобус, 2D-карту и 2.5D Columbus View. Работает на различных платформах и в разных браузерах (о совместимости беспокоиться не стоит).
Polymaps
Сайт: http://polymaps.org/
Звезд на GitHub: 1533, https://github.com/simplegeo/polymaps
Цена: бесплатно
Источник данных для карт: OSM, Bing
Зависимости: нет
Лицензия: SimpleGeo and Stamen copyright
Категория: библиотека
Примеры: http://polymaps.org/ex/
Polymaps это бесплатная библиотека JavaScript для создания динамических и интерактивных карт. В отличие от обычной картографии OpenStreetMap, CloudMade, Bing и пр., она работает с картами на основе изображений и векторов, предоставляя быстрый показ наборов данных в разном приближении. Поддерживает различные визуальные презентации.
Основное достоинство этой библиотеки — способность очень легко объединять растровые и векторные данные из разных источников. Она может удовлетворить все ваши требования, в частности, позволит вам с легкостью добавлять ваши собственные цвета, делать группировки и осуществлять взаимодействие с картой. Polymaps также довольно эффективна: запускается она быстро, хорошо справляется с загрузкой фона, а делают это всего 30 Кб JavaScript.
Плюс использования SVG (масштабируемой векторной графики) для создания карт заключается в том, что многие параметры стилей, которые можно применять к веб-документам при помощи CSS, также будут работать в вашем дизайне карты.
Поскольку Polymaps может загружать данные во всех масштабах, она хорошо подходит для показа информации на уровне страны и далее к штатам, городам, округам и отдельным улицам.
Mapael
Сайт: https://www.vincentbroute.fr/mapael/
Звезд на GitHub: 922, https://github.com/neveldo/jQuery-Mapael
Цена: бесплатно
Источник данных для карт: Raphael.js
Зависимости: jQuery
Лицензия: MIT License
Категория: библиотека
Примеры: https://www.vincentbroute.fr/mapael/
jQuery Mapael позволяет создавать карты с отличной визуализацией данных, а также интерактивные карты. Можно, например, создать карту и назначить каждому региону какой-то цвет. Можно сделать обработку событий по клику или наведению мыши.
Карта создается с учетом SEO (предоставляется альтернативный контент для роботов поисковиков, неспособных исследовать контент, генерируемый JavaScript).
Mapael предоставляет коллекцию карт из собственного репозитория. Документация и описание API скомбинированы в одной статье, но руководство подробное и начать пользоваться библиотекой легко.
Заключение
Согласно Google Trends, самыми популярными инструментами для работы с картами являются Leaflet, Google Maps API и Mapbox. На графике видно, как отличаются (от лидеров) по запросам Bing Maps API и Openlayers, несмотря на то, что они тоже весьма популярны.
Все бесплатные библиотеки в нашем списке прекрасно справляются с созданием интерактивных карт. Все API способны производить отличные картографические системы, так что ваш выбор должен сообразовываться с нуждами вашей компании (в том числе и будущими).
8 JavaScript библиотек для визуализации данных в виде интерактивных карт
Визуализация данных стала неотъемлемой частью жизни практически каждого веб-разработчика. Если построение графиков, диаграмм, карт и дашбордов до сих пор никогда не были вашей головной болью, просто немного подождите: наверняка и вы скоро вступите в наш «клуб».
Данная статья дает общее, но вовлеченное представление о восьми самых интересных, на мой взгляд, JavaScript-библиотеках для построения интерактивных геовизуализаций. В целом, таких решений сейчас много, и выбрать оптимальное под тот или иной конкретный проект – задача порой непростая как минимум по времени. Этой публикацией я попытаюсь хотя бы немного упростить жизнь тем, кто только начинает разбираться в данной теме. Кстати, это слегка модифицированный перевод моей недавней статьи на Onextrapixel (оригинал на английском).
На всякий случай сразу уточню: вообще, JavaScript-библиотеки для создания карт можно разделить на два типа. Одни просто позволяют отображать географическое положение одного или нескольких объектов. Для подобной задачи можно использовать карты типа Google Maps или OpenStreetMaps в качестве источника. В принципе, таких решений достаточно, и результат их работы примерно таков:
Другой тип – и о нем я хочу сегодня поговорить – JavaScript-библиотеки, с помощью которых можно делать именно визуализацию данных посредством создания красивых интерактивных карт. Они показывают либо связи между величинами в разных географических регионах, либо перемещение каких-либо объектов относительно их местоположения, и т.п. – всё то, что крайне важно в плане анализа данных и business intelligence.
JavaScript-библиотеки для интерактивных карт-визуализаций
amMap (от amCharts)
amMap – специальная JavaScript (HTML5) библиотека для построения карт, разработанная командой amCharts. Она не нуждается в каких-либо внешних зависимостях и позволяет довольно просто делать красивые choropleth, bubble, dot (point), connector и flow карты, поддерживая много полезных интерактивных фич.
В частности, amMap дает возможность легко «погружаться» в тот или иной выбранный участок карты с помощью drill down или, например, использовать любые картинки в качестве маркеров – довольно любопытная вещь.
Для начала работы с amMap нужно скачать ZIP-файл с бинарниками. Кстати, в нем уже лежит по 455 карт в каждом из поддерживаемых форматов (JavaScript/SVG). Документация у amMap не очень большая и сводится по большей части к набору вопросов и ответов.
AnyMap (от AnyChart)
AnyMap – одна из популярных JavaScript (HTML5) библиотек для визуализации данных, созданных компанией AnyChart. Как и в случае с amMap, для создания карты с ее помощью не требуется больших усилий, равно как и подключения каких-либо внешних ресурсов или сторонних библиотек (jQuery и т.д.). AnyMap также поддерживает все базовые типы серий, который только могут понадобиться: choropleth, bubble, dot, connector, flow.
В число основных интерактивных фич AnyMap входят drill down для более плотного изучения отдельных районов, событийная модель для обработки событий (пользовательской интерактивности), цветовая шкала для автоматического раскрашивания карты по заданным настройкам.
Забегая немного вперед, скажу, что, на мой взгляд, AnyMap больше похожа на D3, нежели на amMap или Highmaps. Она как бы сочетает в себе возможности «коробочных» решений и в то же время является хорошо расширяемой и контролируемой со стороны разработчика, позволяет полностью кастомизировать визаулизации путем добавления или изменения различных элементов и легко создать собственные карты.
Бинарники AnyMap находятся в ZIP-файле и содержат множество примеров, а на CDN у AnyChart доступны сотни карт в самых разных форматах: GeoJSON, TopoJSON, SHP, SVG. Также стоит заметить, что у этой библиотеки богатая документация и обширное описание API, кстати, довольно легкое для понимания и – опять же – с большим количеством сэмплов.
D3.js (от Mike Bostock)
D3.js – мощная в плане возможных результатов библиотека для визуализации данных с открытым исходным кодом. В отличие от других упомянутых JavaScript-библиотек, D3 – это, скорее, фреймворк, который дает максимальную свободу творчества. Хотя создание интерактивных карт здесь не так очевидно, как, скажем, в решениях от amCharts, AnyChart или Highcharts.
В частности, чтобы сделать такую замечательную интерактивную карту, как на иллюстрации, потребуется изучить достаточно большое количество материалов. Хотя, надо сказать, это стоит того, потому что в итоге можно сделать реально потрясающие, оригинальные визуализации.
Фактически в D3 доступно множество фич, среди которых полная кастомизация поведения, событийная модель и т.д. В целом, я бы сказал, что это – идеальное решение для веб-приложений. Хотя, к сожалению, D3 не предоставляет собственных карт. Это значит – их придется самостоятельно искать в открытых источниках, но вряд ли сейчас это большая проблема.
Документации как таковой у D3 нет, однако есть хорошо расписанное API и множество различных туториалов, примеров и прочих полезных материалов буквально по всему Интернету.
Описание API: есть.
Зависимости: нет.
Лицензия: бесплатно.
Google GeoCharts (от Google)
У гиганта Google есть своя JavaScript-библиотека для визуализации данных – Google Charts. Она содержит возможности и для построения интерактивных карт-визуализаций, называющихся здесь geocharts, видимо, чтобы их не путали с обычными картами, которые нужны только для отображения местоположения объектов.
Карта в Google Geocharts только одна, и это – карта мира. Однако можно выбрать регион, на который при рисовании будет сделан фокус с помощью зума.
К сожалению, здешний API не поддерживает прокрутку (scrolling), изменение масштаба (zoom), перетаскивание (drag). Также Google не предлагает иных типов серий для карт, кроме choropleth и bubble. Однажды данные недостатки довольно сильно меня, мягко скажем, опечалили, но в этом был и положительный момент: в конечном счете мне пришлось начать искать и изучать всяческие другие библиотеки, и вот я сейчас делюсь результатами этого микроисследования с вами.
Так или иначе, GeoCharts – отличное решение для тех людей и проектов, которым не нужны большие и сложные фичи, но кто ищет прежде всего скорость и стабильность вместо какой-то особенной красоты и кастомизации.
Описание API: есть.
Зависимости: нет.
Лицензия: бесплатно.
Highmaps (от Highsoft)
Highmaps – «младшая сестра» Highcharts и Highstock, популярных библиотек разработки компании Highsoft. Ее ключевые преимущества – открытый код со всеми его плюсами, небольшой размер, высокая скорость отрисовки и широкий набор интерактивных возможностей, таких как drill down и т.п.
Среди поддерживаемых в Highmaps серий – choropleth и bubble. Кроме того, с помощью этой библиотеки можно рисовать линии для обозначения дорог, рек и коннекторов. Хотя сделать, скажем, flow-карту здесь не так просто, как в тех же amMap и AnyMap.
Также стоит отметить, что ни Highcharts, ни Highmaps не работают без jQuery, так что для их использования эта зависимость должна быть подключена (или, конечно, есть еще вариант поискать другую библиотеку для визуализации данных — ха-ха).
Положительный момент – Highmaps имеет большое количество карт в форматах SVG и GeoJSON. Также у нее обильная документация, которая позволяет довольно быстро и успешно разобраться во всевозможных настройках.
jQuery Mapael (от Vincent Broute)
jQuery Mapael – еще одна очень достойная, хорошо сделанная библиотека с открытым исходным кодом, предназначенная для создания динамических векторных карт. Она основана на jQuery и Raphael JS, так что эти зависимости нужно иметь в виду при построении поддерживаемых ею choropleth, bubble или connector карт.
Набор своих, готовых для использования карт лежит в репозитории Mapael. Документация и описание API соединены в одну статью но, честно говоря, начать работу с данной библиотекой достаточно легко и с помощью вот этого подробного туториала.
Описание API: есть.
Зависимости: jQuery и Raphael.
Лицензия: бесплатно.
jVectorMap (от Kirill Lebedev)
Библиотека для интерактивных карт jVectorMap имеет открытый исходный код, как и ряд других перечисленных в статье. Она не будет работать без jQuery. Хотя кому-то может показаться, что такая внешняя зависимость делает данную (или любую другую) библиотеку не слишком легко-универсальной, это не должно стать большой проблемой в наше время, ведь jQuery с большим отрывом занимает первое место среди JavaScript-библиотек для сайтов и по популярности, и по доле рынка.
К сожалению, выбор доступных типов серий здесь не слишком велик: в jVectorMap предлагаются только choropleth и marker карты, но в то же время – отдадим этой библиотеке должное – они сделаны весьма добротно. Кроме того, тут можно использовать в качестве маркеров любые картинки, а также имеются drill down и ряд других интерактивных фич.
У jVectorMap довольно небольшое описание API и нет документации в привычном по крайней мере для меня виде. Однако имеется маленький, но все равно очень полезный туториал Getting Started. Свои карты используются, но только в формате GeoJSON.
Kartograph (от Gregor Aisch)
Kartograph – еще одно открытое решение со всеми вытекающими из этого преимуществами. Данную библиотеку характеризует обилие визуальных эффектов, таких как тени, размытие и т.д.
Интересно также, что вдобавок к традиционным choropleth и bubble типам серий здесь еще есть 3D columns (или, как их иногда называют, вертикальные 3D bars).
Готовой коллекции карт в Kartograph нет. Но библиотека работает с любыми картами в формате SVG. Также она предлагает утилиту Kartograph.py для создания карт.
Хотя Kartograph имеет зависимости и не будет работать без Raphael JS (используется как движок для рисования) и jQuery, эта библиотека делает процесс создания карт действительно довольно понятным и беспроблемным, тогда как документация и описание API данной библиотеки, соединенные в одну статью, позволяют вполне легко и удобно заполучить нужные интерактивные карты для ваших проектов.
Описание API: есть.
Зависимости: jQuery и Raphael.
Лицензия: бесплатно.
Заключение
Все перечисленные мною JavaScript-библиотеки для визуализации данных с помощью интерактивных карт – кросс-браузерные. (Ну, в XXI веке иначе, наверное, и быть уже не может.) Некоторые из них даже поддерживают старые браузеры, такие как Internet Explorer 6. (Хотя вот это, я надеюсь, очень скоро уже перестанет быть важным, в конце 2010-х.)
Все бесплатные библиотеки, которые я упомянул, довольно-таки неплохо справляются с созданием интерактивных карт. Но зато они не обеспечивают такую широкую поддержку, как коммерческие, да и – положа руку на сердце – не так уж сильны в кастомизации (ну, кроме D3, конечно).
Говоря о коммерческих библиотеках – кстати, обычно ими можно пользоваться бесплатно для некоммерческих и личных целей, – я не могу не отметить AnyMap и Highmaps за их обстоятельные документации и описания API, равно как и за большие пулы всяческих примеров/демо JavaScript-карт с добротной интерактивностью.
Спасибо за внимание. Надеюсь, эта статья окажется для кого-то полезна с той целью, чтобы быстро ухватить основную суть топовых JavaScript-библиотек, предназначенных для визуализации данных посредством интерактивных карт. Пожалуйста, делитесь в комментариях собственными мыслями, выводами, пониманиями и, конечно, названиями ваших любимых библиотек, если вдруг я незаслуженно, на ваш взгляд, не затронул их в данной статье.