Сервис Яндекс.Карты не нуждается в представлении. Являясь самым популярным источником цифровых карт на территории Российской Федерации и стран СНГ, он уже более пятнадцати лет занимает прочные лидерские позиции в этой отрасли. Миллионы людей пользуются им каждый день, чтобы находить интересующие их места, указывать свое местоположение, создавать маршруты и т. д. Нашей компании, как поставщику CMS для сайтов недвижимости, необходим картографический сервис, способный обеспечивать нас детальными и интерактивными картами, которые могли бы отвечать требованиям наших клиентов.

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

Несколько лет назад, когда у сервиса Яндекс.Карты еще не было достойных конкурентов, мы очень активно использовали эти карты в своей работе. Они были не только отличного качества, но и бесплатны. Тем не менее, когда Яндекс решил монетизировать свои услуги, “Флайнекс”, также как и многие другие клиенты Яндекса, начал искать более доступные альтернативы. И хотя Яндекс по-прежнему предоставляет возможность пользоваться своими картами бесплатно, условия такого бесплатного пользования не подходят для большинства порталов. (См. страницу с тарифами и условиями использования API Яндекс Карт). Например, в рамках бесплатной версии вы не имеете права превышать суточный лимит запросов к API, что для крупной доски объявлений является серьезным ограничением. Помимо этого, ряд услуг, в принципе, не предоставляется на бесплатной основе, например, услуги геокодирования.

В поисках приемлемого источника бесплатных карт мы проанализировали множество доступных сервисов. Сравнив их характеристики, мы остановили свой выбор на библиотеке Leaflet JS, которая в максимальной степени соответствует нашим критериям и требованиям.

Что такое Leaflet JS?

В настоящий момент Leaflet является одной из наиболее популярных JavaScript библиотек с открытым исходным кодом. Она гибкая, легкая и подходит для применения как на стационарных, так и на мобильных платформах. Она также может быть дополнена множеством различных плагинов и функций, что важно для создания интерактивных карт. 

Библиотека Leaflet JS, разработанная в целях обеспечения простоты, высокой производительности и удобства использования карт, созданных на ее основе, отлично подходит для нашего движка недвижимости. И хотя сервис Яндекс.Карты с его многочисленными ресурсами, большим количеством специалистов и обширной библиотекой, кажется идеальным выбором, Leaflet является вполне достойной альтернативой. Высокая востребованность Leaflet объясняется тем, что библиотека регулярно обновляется благодаря специалистам со всего мира, желающим сделать Leaflet максимально эффективной и функциональной.

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

Типы карт, используемых в нашем скрипте

В нашем скрипте недвижимости мы используем два типа карт: статические и динамические. Динамические карты отображаются во всех наших скриптах на следующих страницах:

  • на странице “Поиск объявлений на карте”;
  • на страницах типов объявлений и типов учетных записей;
  • на страницах деталей объявлений и учетных записей;
  • в плагинах, например на странице “Добавить объявление” при наличии плагина “Поиск локации”;
  • в плагине “Поиск в радиусе” для поиска объявлений по радиусу и т.д.

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

Поставщики карт

Движок Leaflet JS, который мы используем в скрипте, работает с четырьмя поставщиками карт — Яндекс, Google, OpenStreetMap и CartoDB. Яндекс и Google предоставляют высококачественные и очень подробные фрагменты карт, которые идеальны во всем, кроме одного — их стоимость. OpenStreetMap и CartoDB бесплатны, но их плитки менее профессиональны.

Статические карты, которые используются на страницах объявлений и станицах продавцов, а также на страницах объявлений без изображений, предоставляются сервисами Yandex Static Maps и Google Static Maps. Они бесплатны.

Масштабирование

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

Существует несколько вариантов масштабирования, доступных к использованию в нашем скрипте: 

  • Масштабирование изображения с помощью колеса прокрутки;
  • Масштабирование двумя пальцами на мобильных устройствах;
  • Масштабирование с помощью двойного щелчка мыши.

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

Функция геокодирования

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

В нашем движке представлены три поставщика услуг геокодирования:

  • Google Places
  • OpenStreetMap
  • ArcGIS

Google Places — это служба, работающая как каталог мест, которые могут заинтересовать пользователя. Служба позволяет выводить в результатах поиска информацию о местах на основе HTTP-запросов. Места в рамках этого API определяются как заведения, географические местоположения или известные достопримечательности. Как и для любого другого сервиса, предоставляемого Google, для работы с Google Places требуется платная подписка.

Служба геокодирования OpenStreetMap бесплатна и более гибка по сравнению с Google Places. Более того, многие специалисты полагают, что она столь же точна, что и широко известные коммерческие проекты, благодаря ее систематическому обновлению усилиями постоянно растущего сообщества. Многие крупные корпорации, такие как Microsoft, Apple, Facebook, DigitalGlobe и т.д., активно поддерживают сервис, интегрируя данные OpenStreetMap в свои решения и затем внося свой вклад в развитие службы.

ArcGIS представляет собой облачное картографическое и аналитическое решение, которое используется более чем в 100 странах мира. Модуль службы геокодирования обеспечивает прямое геокодирование, обратное геокодирование и пакетное геокодирование. Если у вас есть публичный аккаунт на ArcGIS, вы можете использовать его бесплатно. Однако, как и в случае с OpenStreetMaps, если вы хотите пользоваться расширенными возможностями ArcGIS, вам потребуется приобрести платную подписку.

Настройки карт/геокодирования

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

  • Отключить модуль карт (если вы считаете, что вам не нужны карты на сайте);
  • Выбрать поставщика картографических услуг (вы можете выбрать из четырех доступных провайдеров: Яндекс.Карты, Google Maps, OpenStreetMap, CartoDB);
  • Установить значение масштаба объектов на карте, который будет применяться по умолчанию;
  • Установить местоположение на карте поиска, которое будет по умолчанию загружаться в рамку карты, видимую пользователям в интерфейсе;
  • Установить максимальное количество маркеров на ваших картах (этот параметр позволяет ограничить количество маркеров, отображаемых на ваших картах, чтобы избежать наложения маркеров друг на друга);
  • Установить максимальное количество маркеров на карте в мобильном интерфейсе (вы можете контролировать количество маркеров, загружаемых на карты в смартфонах пользователей); 
  • Выбрать поставщика статических карт (доступны два поставщика: Yandex Static Maps и Google Static Maps);
  • Выбрать поставщика услуг геокодирования (доступны три поставщика: Google Places, OpenStreetMap, ArcGIS).

Все эти настройки доступны в панели администратора.

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

Купить движок сайта недвижимости с бесплатными картами