ОБЗОР НАИБОЛЕЕ ПОПУЛЯРНЫХ КАРТОГРАФИЧЕСКИХ СЕРВИСОВ, ПРЕДОСТАВЛЯЮЩИХ API ДЛЯ РАЗРАБОТЧИКОВ

№70-1,

Технические науки

В настоящее время популярные картографические порталы, такие как Google Maps, Яндекс.Карты и 2GIS, предоставляют API, с помощью которого можно строить и добавлять карты на сторонние сайты. Чтобы выбрать наиболее подходящий сервис для реализации определенного проекта, необходимо изучить характеристики представленных сервисов.

Похожие материалы

В настоящее время популярные картографические порталы, такие как Google Maps, Яндекс.Карты и ряд других, предоставляют API (Application Programming Interface — интерфейс программирования приложений), с помощью которого можно строить и добавлять карты на сторонние сайты. API представляет собой набор средств, дающих возможность получить доступ к какому-либо сервису и запросить у него данные. Разработчик может воспользоваться им для получения доступа к функционалу программы, библиотеки, модуля.

Картографический сервис — это специализированная информационная система, предоставляющая пространственные данные в виде интерактивной карты. Картографический веб-сервис обеспечивает веб-доступ к картографической информации на основе интерфейсов прикладного программирования (API). В настоящее время на российском рынке наиболее известны и распространены следующие картографические и справочные сервисы:

  • Яндекс.Карты;
  • Google Maps;
  • ГИС.

Рассмотрим их с точки зрения предоставления ими возможностей для создания собственных карт, их настройки и размещения на них необходимой бизнес-информации.

Яндекс.Карты — это картографический веб-сервис от компании Яндекс, запущенный в 2004 году. Яндекс.Карты предоставляют детальные схемы большинства городов и стран мира, содержат справочную информацию об организациях в городе, средства для построения маршрутов на машине и общественным транспортом с учетом пробок.

Для разработчиков предоставляется API — программный интерфейс, с помощью которого можно установить Яндекс.Карты и необходимый инструментарий для работы с ними в своём веб-приложении или на сайте. Инструментарий включает в себя конструктор карт, геокодер (для перевода географических координат в адрес и наоборот), набор компонентов для размещения карт на страницах сайта или в веб-приложении, интерфейс для настройки параметров созданной в конструкторе схемы.

Сервис Яндекс.Карт возможно использовать только для сайтов или приложений, доступных для бесплатного открытого использования, при этом сначала необходимо зарегистрироваться. Важно, что количество обращений к геокодеру, маршрутизатору и панорамам должно быть менее 25 000 запросов в сутки.

Google Maps — один из самых известных картографических сервисов. Существует с 2005 года. Три основные части Google Maps — это непосредственно сами карты, снимки со спутника и Google Street View. Карты от Google также предоставляют возможности для использования своих карт в сторонних сервисах. Используя Google Maps API, можно поместить любую карту из Google Maps на внешнем сайте, управляя этой картой через JavaScript API. В состав средств для разработчика входят следующие программные интерфейсы (API):

  • Android API (создание и добавление собственных карт для приложения на базе Android);
  • Javascript API (создание и добавление собственных карт для веб-сайтов);
  • Geocoding API (обеспечивает доступ к службам геокодирования статичных адресов через запрос HTTP с целью размещения контента на карте);
  • Directions API (включает средства для составления маршрутов, расчёта времени поездки, определения расстояний);
  • Places API Web Service (служба, из которой с помощью HTTP-запросов можно получать информацию о местах, определенных в данном API: организациях, географических объектах или достопримечательностях).

Перед началом работы с картами необходимо зарегистрироваться с помощью аккаунта Google. Некоммерческое использование сервиса бесплатно, но существуют ограничения на количество запросов к отдельным функциям.

2ГИС — это российский проект, включающий в себя карты, навигатор и справочник c подробной информацией об организациях в каждом городе — начиная от названия и контактов, заканчивая временем работы и способами оплаты услуг. Среди других сервисов 2ГИС отличается хорошей детализацией карт и полнотой данных.

Данный сервис также предоставляет разработчикам инструменты для использования своих карт в некоммерческих целях. С помощью API 2GIS можно создавать интерактивные карты на веб-странице, показывать на карте различные объекты (маркеры, области, геометрические объекты), производить поиск на карте: определять координаты геообъектов по их названиям и названия по координатам. API 2GIS имеет открытый исходный код, в ее основе лежит библиотека Leaflet, предоставляющая модули для кластеризации, создания тепловых карт, анимированных маркеров, а также поддерживающая создание собственных модулей. Также в API 2GIS есть возможность поэтажной детализации зданий и другие возможности.

Рассмотрим качество изображения и уровень детализации одного и того же участка определенного города в Яндекс.Картах, Google Maps и картах 2ГИС, представленных на рисунках 1, 2 и 3 соответственно. Качественная карта предполагает правильное расположение всех объектов, хорошую прорисовку всех домов, включая новостройки, их корректную нумерацию, достаточную цветовую контрастность карты.

Участок Яндекс.Карт
Рисунок 1. Участок Яндекс.Карт
Участок Google Maps
Рисунок 2. Участок Google Maps
Участок карты 2ГИС
Рисунок 3. Участок карты 2ГИС

Как видно на рисунках, Яндекс.Карты и карты 2ГИС имеют лучшую детализацию и прорисовку объектов на выбранном участке, а также более выгодное цветовое оформление. На карте Google некоторые здания не пронумерованы или не прорисованы, отсутствуют новостройки.

В таблице 1 представлено сравнение рассматриваемых сервисов по различным критериям.

Таблица 1. Сравнение картографических сервисов Яндекс.Карты, Google.Maps и 2ГИС

Критерий

Яндекс.Карты

Google.Maps

2ГИС

Покрытие

Карта всего мира (но наиболее проработаны карты России, Украины, Белоруссии и Казахстана, а также Европы и Северной Америки)

Карта всего мира (но хорошо прорисованы только наиболее крупные города Северной Америки, Европы, России и др.)

Россия и несколько городов в 9 странах (всего около 350 городов)

Детализация карт, качество прорисовки

Хорошая или очень хорошая детализация в России, достаточная в других странах.

Средний уровень детализации. Много объектов отсутствует. Объекты хорошо видны только при сильном приближении.

Очень хорошая детализация в городах присутствия.

Построение маршрутов

Построение нескольких вариантов маршрута на автомобиле (с учетом пробок), общественным транспортом, пешком. Расчёт предположительного времени в пути. Проигрывает Google.Maps в качестве построения маршрута.

Построение нескольких вариантов маршрута на автомобиле (с учетом пробок), общественным транспортом, пешком, на велосипеде и даже самолетом. Расчёт предположительного времени в пути.

Построение нескольких маршрутов на автомобиле, общественном транспорте, пешком с расчётом времени на путь.

Режимы отображения карты

Режимы «Схема», «Спутник», «Гибрид», панорамы некоторых городов

Режимы «Схема» и «Спутник», панорамы отдельных городов

Режим «Схема»

Условия использования API

Бесплатно для использования в открытых некоммерческих неигровых проектах, не предназначенных для мониторинга и диспетчеризации. Использование ключа и регистрация не обязательна.

Бесплатно для использования в открытых некоммерческих проектах, не предназначенных для мониторинга, диспетчеризации, ведения незаконной деятельности. Обязательна регистрация и получение ключа API.

Бесплатно для использования в открытых некоммерческих проектах, не направленных на построение маршрутов. Обязательна регистрация и получение ключа.

Ограничения количества запросов при бесплатном использовании API

Число запросов к сервисам геокодирования, маршрутизации и панорам Яндекса не должно превышать 25 000 в сутки.

Число загрузок карт не должно превышать превышает 25 000 в сутки.

Количество запросов к сервису ограничено предельной величиной 10 в секунду и (или) 10000 в месяц

Документация по использованию API

Документация очень подробная, с примерами использования большинства функций.

Документация достаточно подробная, но частично на английском языке.

Документация по использованию краткая

Элементы управления

  • Элементы для перетягивания карты, увеличения выделенной области, измерения расстояний.
  • Элемент изменения масштаба
  • Переключатель типа карты
  • Масштабная линейка
  • Обзорная карта
  • Поиск по карте
  • Пробки
  • Редактор маршрута
  • Пользовательские элементы управления
  • Масштабирование карты
  • Выбор типа карты
  • Элемент управления Street View
  • Элемент управления Rotate для наклона и вращения
  • Элемент перехода в полноэкранный режим
  • Построение маршрутов
  • Пользоват. элементы управления
  • Управление
  • Масштаб
  • Линейка
  • Отображение слоя пробок
  • Кнопка полноэкранного отображения карты
  • Определение месторасположения пользователя

Средства для вывода большого количества данных

  • Кластеризация;
  • Технология активных областей;
  • Технологии ObjectManager, LoadingObjectManager, RemoteObjectManager
  • Кластеризация маркеров;
  • Технология setTimeout для последовательного вывода маркеров на карту.
  • Кластеризация объектов

В настоящее время уже есть достаточное количество примеров использования различных картографических сервисов, например в риэлторской сфере. Наиболее простой вариант использования — это размещение на карте одной единственной метки. Например, агентство недвижимости «Риэлторский центр» использует на своем сайте Яндекс карты для обозначения местоположения каждого отдельного продаваемого объекта.

Размещение объекта на Яндекс.Карте
Рисунок 4. Размещение объекта на Яндекс.Карте

Риэлторское агентство «Апартаменты» в своем ресурсе использует картографический сервис на основе Гугл карт (рисунок 5). На карту помещены все объекты, с которыми работает агентство, при этом их можно сортировать по количеству комнат, станции метро, району, улице, общей площади и стоимости. При выборе объекта осуществляется переход на страницу с его описанием.

Использование карты Гугл на сайте apartment.ru
Рисунок 5. Использование карты Гугл на сайте apartment.ru

На API 2GIS работает карта на портале о недвижимости МЛСН.ру (рисунок 6). В данном случае, чтобы избежать чрезмерного количества меток на карте, объекты группируются в зависимости от территории. При увеличении и уменьшении масштаба карты, объекты автоматически перегруппировываются. Здесь также есть возможности классификации объектов по количеству комнат и другим параметрам.

Использование API 2GIS на сайте МЛСН.ру
Рисунок 6. Использование API 2GIS на сайте МЛСН.ру

Как видно на рисунке 7, при выборе определенного дома на карте появляется краткая информация о квартирах в нем. Далее можно перейти на страницу с более подробным описанием.

Вывод дополнительной информации при выборе объекта на карте 2GIS
Рисунок 7. Вывод дополнительной информации при выборе объекта на карте 2GIS

Все эти сервисы осуществляются при помощи API, которое предоставляют для разработчиков картографические сервисы.

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

Список литературы

  1. API 2GIS [Электронный ресурс]: документация по использованию – Электрон. текстовые дан. – Режим доступа: http://api.2gis.ru/doc/maps/ru/quickstart/, свободный.
  2. API Google Maps [Электронный ресурс]: документация по использованию – Электрон. текстовые дан. – Режим доступа: https://developers.google.com/maps/we Google Mapsb/?hl=ru, свободный.
  3. API Яндекс.Карт [Электронный ресурс]: документация по использованию – Электрон. текстовые дан. – Режим доступа: https://tech.yandex.ru/maps/, свободный.
  4. Кадочников, А.А. Организация и визуализация данных наблюдений с помощью картографических веб-сервисов [Текст]/ А.А. Кадочников // Устойчивое развитие территорий: картографо-геоинформационное обеспечение. – 2014. – С. 188 -196.
  5. Картографические веб-сервисы в России: опыт компании «Яндекс» [Текст]/ Земля из космоса: наиболее эффективные решения. –2010. –№6. – 50-52 с.
  6. Касьянова, Е.Л. Создание интерактивных картографических веб-сервисов [Текст]/ Е.Л. Касьянова, Е.Ю. Воронкин // Известия высших учебных заведений. Геодезия и аэрофотосъемка. – 2014. – №3. – С. 87-92.
  7. Кикин, П.М. Разработка методики создания тематических карт средствами веб-технологий [Текст]/ П.М. Кикин, Е.Л. Касиянова// Сибирская государственная геодезическая академия г. Новосибирск. - М., 2014. - 105 с.
  8. Маринов, Н.А. Создание картографических сервисов на основе web API [Текст]/ Н.А. Маринов // Сборник материалов научно-практического семинара. – 2013. – С. 21-24.