Платформа Google Maps перешла на новый уровень и активно продвигает платный функционал. Какие ограничения на бесплатное использование карт? Как настроить? Что насчет аналогов? Ответы на эти и другие вопросы — ниже.
Часть 1 — для начинающих: Ключевые моменты Google Maps
Расценки и расчет расходов
Кратко: простая карта, отображающая точки офисов вашей компании с помощью iframe, бесплатна. Услуги с предоставлением API-ключа — платные.
Подробно. При первой регистрации на Google Cloud Platform и создании учетной записи, начинается бесплатный пробный период на 12 месяцев. За это время никакие средства не списываются. Триал-версия заканчивается через 12 месяцев либо когда наберется число запросов в общей сумме на $300. Зависит от того, что первым произойдёт.
Но даже если вы используете ключ, Гугл дает $200 каждый месяц. Это эквивалентно бесплатной загрузке 100 000 статических или 28 000 динамических карт. Начинающие разработчики могут использовать сервис бесплатно, поскольку им не нужно такое количество запросов, а вот организациям покрупнее придется платить.
Подробнее о расценках — здесь.
Гугл менял цену несколько раз. В одном из первоначальных планов он хотел отображать 25 000 динамических карт в день бесплатно, а каждые 1000 по стоимости 50¢. В итоге остановился на 28 000 в течение всего месяца и за 1000 — $7, что в 14 раз больше.
Дополнительные $250
Некоммерческие организации, медиа или стартапы могут присоединиться к специальной программе и получать дополнительно 250 долларов на бесплатное использование каждый месяц. Если вас интересует этот вопрос, прочитайте официальный документ.
Компания отправляет заявку на участие, которую Гугл рассматривает и при успешном исходе одобряет.
За что вы платите: 4 мощных API
JavaScript API
Позволяет настраивать карты с собственным контентом для отображения на веб-страницах и мобильных устройствах. Содержит четыре основных картографических типа, которые можно изменять с помощью слоев, стилей, элементов управления, событий, а также различных сервисов и библиотек.
Google предоставляет документацию для разработчиков, знакомых с JavaScript и объектно-ориентированным программированием.
Geocoding API
Геокодинг — процесс преобразования текстовых адресов в географические координаты. Например, пользователь вводит адрес: Россия, Воронеж, Кольцовская, 35. Сервис преобразовывает его в долготу и широту. На их основе можно позиционировать карты или размещать маркеры.
Есть также обратный геокодинг, который позволяет найти адрес для данного идентификатора места.
Работа основана на API JavaScript. Подробнее — в документации.
Directions API (маршруты)
Это сервис, который вычисляет маршруты между местоположениями. Гугл составляет их для различного вида транспорта и ходьбы. А вот и документация.
Google Places API
Сервис, который возвращает информацию о местах с использованием HTTP-запросов. Места определяются как заведения, географические местоположения или известные достопримечательности.
Часть 2 — для тех, кто в теме: Как настроить Google Maps
Учетная запись
Настройка учетной записи — важный момент. Вам надо знать, где найти ненужные подключенные услуги, как защитить ключ или установить ограничения на использование Google Maps.
Как получить Google Maps API key и настроить его
- Перейдите на страницу Google Maps Platform.
- Кликните «Get Started».
- Во всплывающем окне отметьте «Maps» и нажмите «Continue».
- Заполните название проекта, отметьте согласие с условиями и «Next».
- Затем приложение попросит карту. Вам нужно «Создать платежный аккаунт».
- Пройдите настройку платежных данных. Выберите страну, решите, нужна ли вам рассылка. Прочитайте условия использования. Если все устраивает, кликайте «Agree and Continue».
- Заполните данные владельца карты: тип счета, имя, адрес, способ оплаты. Нажмите «Start my free trial».
- Если все прошло успешно, появится сообщение с заголовком «включить платформу Google Maps» для активации ключа API. Нажмите «Next».
- После появится окошко с новым ключом API в сером поле. Кнопка «Done» завершит процесс.
Настройки
Ключ готов, но есть еще несколько параметров, которые нужно настроить. Например, безопасность, чтобы он не мог попасть в руки другим лицам. А также бюджет, чтобы нельзя было потратить больше, чем можете себе позволить.
Безопасность
В настройках доступен пункт для защиты ключа от неправильного использования.
- Войдите в панель управления и нажмите «Учетные данные» в левом меню.
- В разделе отображается созданный ключ API. Щелкните значок карандаша.
- Сначала измените имя ключа. Как правило, его называют именем сайта или проекта.
- В разделе «Ограничения ключа» вы можете найти две вкладки: для приложений и API. В первой выберите веб-сайты и введите ресурс в поле.
- В разделе «Ограничения API» выберите службы, которые включены для этого ключа.
- Сохраните настройки.
Бюджет
Установите бюджет в 200 долларов, которые предлагает Гугл. Так он не будет списывать деньги свыше указанного лимита.
В меню Google Cloud Platform переключитесь на Оплату.
В левом меню выберите Бюджеты —> Создать бюджет.
Появится новое окно редактирования. Введите название бюджета, сумму ($200) и поставьте галочку под полем, чтобы включить кредит от Гугла. Иначе он не даст возможность бесплатно использовать сервисы. Сохраните настройки.
Ограничения сервисов
Лимиты доступны и для отдельных услуг. Перейдите в панель управления.
- Выберите API.
- Перейдите на вкладку «Квоты» и нажмите на значок карандаша, чтобы перейти к настройкам.
- Установите верхний порог или отметьте «Безлимитный» для работы без ограничений.
- Сохраните изменения.
Часть 3 — для разработчиков
API для backend-разработчиков
Бекенду часто не нужны карты, но он использует API для получения координат GPS и дальнейшей обработки. Например, отображение точек, определение расстояния между ними и т. д.
Для приведенных действий используется служба геокодинга, которая использует HTTP-запросы для прямых запросов к серверам Гугл.
Однако такая обработка данных возможна с помощью другого API. Рассмотрим варианты для серверной части геокодинга:
- Here Map — до 250 тысяч запросов в месяц бесплатно. Далее 1 доллар за 1000 транзакций. Подробнее о тарифах.
- Bing предлагает около 10.000 з/м бесплатно.
- Mapquest — 15 000 з/м бесплатно.
Подробнее об этих и других вариантах поговорим в разделе альтернатив.
Платформа Google Maps предоставляет только 40 000 бесплатных запросов в месяц для геокодинга (около 1300 в день). Каждые 1000 запросов сверх — по 5 долларов.
Оптимизация запросов
Есть два эффективных способа оптимизации.
- Сохранять результаты API и выгружать из кэша, а новый запрос делать только для неизвестных адресов.
- Вызывать только действительные запросы на существующие адреса. Например. когда вызывается API для определения местоположения и пользователь вводит его напрямую, рекомендуется сначала проверить данные на наличие адреса (проверка допустимых символов и т. д.)
Можно ли сэкономить деньги?
Ответ для каждой ситуации свой. Тем не менее, можно найти несколько обобщенных вариантов использования, которые сократят расходы.
- Избегайте повторения как можно чаще. Запросы на получение GPS-координат платные. Лучше не получать их динамически из внешнего интерфейса, а объединить в группу на сервере и сохранять в базе данных
- Google предлагает бесплатный вариант использования карт без собственного декорирования внешнего вида и интерактивности. Возможно, вам будет достаточно этого решения.
- Используйте статические карты. Это сервис, который генерирует статическое изображение Google Maps. Для них можно использовать пользовательский стиль. Услуга платная, но цена в 3,5 раза меньше, чем у динамических карт.
Аналоги
Важно понять, что вы ожидаете от карты и выбрать подходящую замену.
HERE maps
HERE опубликовали документацию и тарифные планы для всех, кто переходит к ним с Google Maps. Раньше у сервиса был пробный трехмесячных тариф, по его окончанию пользователь терял расширенную функциональность.
В отличие от Google, не нужно сразу предоставлять карту или другой способ оплаты для полного набора возможностей.
План Freemium ограничен 250. 000 бесплатных транзакций в месяц, и при превышении этого лимита взимается 1 доллар за каждую 1000.
Одна транзакция в большинстве случаев означает один запрос API, за небольшим исключением. Обзор всех функций доступен в документации.
Яндекс Карты
Хороший конкурент Гуглу, если детальная прорисовка зарубежья вас не интересует. Яндекс предлагает 4 API:
Все четыре предлагаются бесплатно при соблюдении следующих ограничений:
- Проект должен быть доступным для всех. Нельзя использовать карты для сайтов, предназначенных для сотрудников компании, где вход по приглашениям.
- Количество запросов в сутки не превышает 25.000. Иначе карты отвалятся до конца суток.
- Все результаты API отображаются на Яндекс Картах.
- Проект некоммерческий: никаких подписок, платных регистраций и т.д.
- Информация с карт доступна только для чтения. Изменять или сохранять — нельзя.
- Логотип и копирайт Яндекса обязателен в оригинальном виде. Скриншоты недопустимы. Это ограничение действует и в платной версии.
- Нельзя отслеживать транспорт, людей, работать с навигацией или решать логистические задачи.
В остальных случаях придется платить, но ценовая политика Яндекса будет поприятнее.
По сравнению с Гуглом, Яндекс ставит единую цену.
Более того, отечественный гигант предоставляет все отчеты для бухгалтерии в электронном или бумажном виде.
Из минусов:
- Оплата сразу за год.
- Счет за превышение запросов приходит раз в месяц.
MapBox
Этот сервис предлагает 50.000 бесплатных транзакций в месяц. А также предоставляет каждые 1000 показов, запросов геолокации или навигации по 50 центов каждый.
MapBox также умеет стилизовать карты и пользовательский интерфейс, создавать 2D и 3D визуализацию, предоставляет услуги геокодинга, навигации, кластеризации и другие подобные операции с данными.
В расширенные функции входят создание и загрузка пользовательских данных, преобразование ресурсов карты в игровые объекты и среды для Unity, спутниковые данные или визуализация данных в Power BI.
Facebook и Twitter используют MapBox.
MapBox — поставщик только онлайн-карт. Данные поступают из многих источников, включая данные с открытым исходным кодом из OpenStreetMap или NASA. Для интеграции MapBox использует свою библиотеку MapBox.js.
OpenStreetMap
Сервис бесплатен для всех компаний и целей. Исходный код открытый и дорабатывается добровольцами со всего мира.
Однако обратите внимание на следующие особенности:
- Мощные серверы недоступны.
- База данных распространяется бесплатно, а вот сервер придется настроить свой. С одной стороны, можно подключить любой платный за небольшие суммы. С другой — это снова траты или время.
- Уточните, что местность, с которой вы обычно работаете, детально прорисована. Это не всегда так.
- Четкой документации нет, только форумы в помощь.
Сервис полностью бесплатен и малофункционален.
Другие аналоги, которые могут заинтересовать
- <2GIS.
- Azure Maps.
- TomTom.
- Apple Maps.
- ESRI.
- Bing.
- Mapquest.
Подводим итоги
Google Maps API предоставляют мощные инструменты для работы с картами и обработки данных. Пробежимся по основным моментам:
- Защитите ключ от чужого использования.
- Установите ограничения на бюджет и работу служб, чтобы не превышать верхний порог.
- Оптимизируйте работу запросов. Это позволит сохранить деньги.
- Гугл может не подойти по карману. Тогда на смену приходят не менее функциональные, но недорогие аналоги от Яндекса, HERE maps, MapBox и другие. Каждый из них заточен под определенные задачи и успешно их решает.