С тех пор, как Google установил квоты на использование API карт, к нам все чаще и чаще обращались пользователи и проспекты с просьбой решить проблему платных карт и внедрить в наш скрипт действенную альтернативу Google картам. Учитывая возросшее количество подобных обращений, мы решили направить все наши усилия на решение проблемы с платными картами. Обновление скрипта 4.8.0 предлагает полностью переработанный функционал карт, который стал быстрее, многообразнее и, самое главное, позволяет пользоваться картами бесплатно.

Функционал карт, доступный в обновленной версии подразделяется на три области:

  • Интерактивные карты на основе JavaScript;
  • Геокодинг на PHP и модуль автозаполнения форм на основе JavaScript;
  • Статические карты

Для лучшего понимания того, как именно работают новые карты в нашем скрипте, мы подробно опишем каждое из нововведений:

Интерактивные карты JavaScript

Подробно изучив предложения различных провайдеров карт, мы решили остановиться на интерактивном решении leaflet JS. Наш выбор был обусловлен совпадением нескольких важный факторов:

  • Бесплатная, open-source библиотека, используемая крупными порталами;
  • Множество плагинов, расширяющих функционал;
  • Кроссплатформенность (работает на десктопах/мобильных устройствах:
  • Растущее сообщество, постоянно работающее над улучшением функционала;

В новом обновлении скрипта, библиотека Leaflet JS взята за основу всех карт и активирована по умолчанию для всего функционала и плагинов, связанных с картами. Это означает, что мы полностью отказались от Google карт и их тяжелой библиотеки API. Этот шаг позволил нам увеличить скорость загрузки страницы (так как Google карты использовали множество трекеров и ненужных сервисов, которые нагружали функционал карт)

Теперь, каждая страница которая использует карты работает лишь на основе одной локальной легковесной JavaScript библиотеки, которую мы разработали специально для нашего скрипта.

Все сервисы карт оперируют так называемыми тайлами (tiles) – это изображения (картинки) с участком карты из которых строится карта.

С новыми картами, вам остается лишь выбрать сервер для тайлов, на которых будет строиться интерфейс карт. Версия Флайнекс 4.8.0 использует 4 сервера для на ваш выбор:

Яндекс карты

Яндекс предлагает бесплатный и быстрый сервер для тайлов карт, который по достоинству оценят пользователи из России и стран СНГ. Идеальный выбор для сайтов, нацеленных на Российскую аудиторию.

OpenStreetMaps

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

CartoDB

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

Сервер тайлов от Google карт

Google предлагает свой сервер для использования тайлов бесплатно. Важно отметить, что мы не используем Google API, а лишь берем картинки карт (тайлы). Мы решили включить данную опцию, так как для многих карты Google привычны и имеют привлекательный дизайн.

Все представленные опции бесплатны и не используют API сторонних JavaScript библиотек. Вы можете выбрать любую из представленных выше опций из панели администратора Флайнекс. Если же вы желаете использовать другой сервер для тайлов, который не представлен в данном посте, вам следует знать, что интеграция сервера для тайлов довольно простая задача для любого вебмастера и она может быть выполнена в рамках поддержки Флайнекс.

Вы можете просмотреть полный список провайдеров тайлов для карт здесь или выбрать профессиональные решения, которые не всегда бесплатны.

Геокодер PHP

При публикации объявления, пользователь вводит адрес в виде текста:

Москва, ул. Льва Толстого, 16

Адрес преобразуется в координаты:

55.73367,37.587874

Геокодер отвечает за извлечение данных координат из адреса и отображения локации. Раньше, данная функция выполнялась сервисом геокодинга Google; в обновленной версии скрипта, мы разработали метод геокодинга на базе PHP, который работает с тремя сервисами. Вы можете выбрать любой понравившейся из панели администратора.

OpenStreetMap (Nominatim)

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

ArcGIS

Еще один бесплатный сервис, который является гораздо быстрой и стабильной опцией. Данный сервис способен правильно определить 95% адресов, и, по нашему мнению, является лучшей опцией.

Google Геокодер

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

Модуль автозаполнения полей локации

Вы можете столкнуться с полями в адресах, которые поддерживают опцию автозаполнения адреса в некоторых формах поиска и на картах. В предыдущей версии мы использовали API Google Places, в обновленной версии 4.8.0, мы используем нашу собственную разработку – легковесную JavaScript библиотеку. Она работает в паре с геокодером PHP, о котором мы говорили выше.

Статические карты

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

Статические карты сокращают количество бесполезных запросов к серверу библиотеки и повышают скорость загрузки страницы. Обычно на статических картах мы отображаем информацию о локации продавца/объявления.

В новой версии скрипта доступны два провайдера статических карт:

Статические карты от Google

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

Статические карты от Яндекс

Карты Яндекс, в отличие от Google совершенно бесплатны – более того, они могут использоваться без API ключа. Статические карты от Яндекс станут прекрасным выбором для пользователей из России и стран СНГ.

Новые карты, доступные в рамках обновления покрывают запросы любого вебмастера. Настройки карт по умолчанию не требуют создания API ключей и прочих настроек – все работает прямо из коробки!

 При этом, опытному вебмастеру доступны дополнительные настройки, которые позволят внедрить сторонние сервисы и модули.

Купить скрипт