По вопросам разработки сервисов с использованием API Яндекс.Карт обращайтесь ко мне через раздел Контакты.
Исходные условия: есть карта глубин, созданная в конструкторе Яндекс карт. Точек (меток) очень много, из-за этого карта тормозит. Задача: объединить точки в кластеры, чтобы уменьшить тормоза и улучшить внешний вид.
Кластеризация меток: было — стало
Для начала проверяем возможность создания кластера прямо в конструкторе, чтобы обойтись малой кровью. Такой вопрос уже возникал у пользователей, и похоже, что такой возможности всё ещё нет:
Скрин ответа разработчиков Яндекс карт
Значит, нужно переделывать карту с нуля, взяв из конструктора только исходные данные: координаты меток, названия деревень, информацию о почве.
Предлагаю необычный подарок для Вашей половинки. На карте отмечаются памятные места, важные для вас обоих: место первого свидания, адрес дома и так далее. Цена от 500 до 2000 рублей, а ниже я более подробно расскажу о способах изготовления и ценах.
Место первой встречи
Два дома, соединённых линией
Место, где всё началось
На пустую карту вы можете приклеить свою наклейку
Возможно два варианта работы:
1) у вас есть своя рамка + вы можете сами распечатать карту, в этом случае я отправлю вам готовый файл для печати — от 500 до 1000 рублей; 2) готовая распечатанная карта в рамке: отправляется по почте, курьером или самовывозом (только в Москве) — от 1000 до 2000 рублей.
Размер карты, цвет рамки — на ваш выбор. Текст под картой, а также какие символы будут на карте — здесь полный полёт вашей фантазии. Всегда в наличии белые рамки, остальные цвета — уточняйте.
Подготовил большую карту Ломоносовского района города Санкт-Петербурга. На карте выделены контуры районов и подписаны сельские поселения. Размер печатной версии — 6 на 3 метра.
Карта Ломоносовского района с границами
Фрагмент карты — образец детализации
Обращайтесь, если Вам нужна широкоформатная карта вашего города с границами, текстом или любыми другими пометками поверх карты.
На карте Москвы разными цветами показаны округи — зоны влияния компаний-конкурентов. Это не векторная карта, но её размеров достаточно, чтобы распечатать по всей высоте стены офиса, от пола до потолка.
Карта Москвы с выделенными округами
Фрагмент карты
При желании возможна более тонкая раскраска карты.
Во многих случаях вместо онлайн карты удобно использовать большую распечатанную карту магазинов или любых других сетевых объектов.
Карта отделений Читай-города в Москве
Но где её взять? На сайте компании обычно размещена карта отделений размером максимум с экран телефона или компьютера. Печатать такую карту прямо из браузера бесполезно по двум причинам: на ней помещается только часть нужных объектов, а качество обычно не подходит для печати.
У меня есть отработанная технология подготовки больших карт: захват нужных меток по всей площади, увеличение размера без потери качества, работа с цветом. Для примера я взял два сайта книжных магазинов — в Москве и Питере — и сделал их карты отделений в формате А3.
Ко мне обратился клиент с задачей изготовить карту Москвы и Московской области размером 200×200 см. На карте должны быть помечены границы областей, а названия городов и деревень должны читаться с 1-2 метров.
Обратите внимание, что продажа готовых карт на основе Яндекса, Гугла и т.д. запрещена лицензией. Если вам нужна помощь в изготовлении подобных карт для личного использования с какими-то доработками — обращайтесь.
Часть карты вокруг Московской области была высветлена для красоты. Можно сделать карту на чисто белом фоне или на любом другом, подходящем по дизайну.
При нанесении границ мы заметили, что координаты областей от разных картографических сервисов немного отличаются. Например, если взять Яндекс карту и наложить поверх неё готовую границу Московской области в SVG, взятую с Википедии, то они не совпадут во многих местах:
Разница границ в разных карточных сервисах
Единственный способ подогнать границы — вручную двигать отдельные сегменты линий.
Задача: рассчитать стоимость доставки товара по городу, учитывая различные тарифные зоны. Выбрать и сгруппировать заказы, которые удобно доставить курьером за одну поездку.
Данный модуль создан на движке Яндекс.Карт и предназначается для CRM-системы службы доставки. На вход поступают данные о всех новых (ещё не обработанных) заказах: номер заказа, желаемое время и адрес доставки. На выходе получается таблица, в которой перечислены заказы, расстояние от офиса, стоимость доставки в зависимости от тарифной зоны. Если адрес находится за пределами города, то показан километраж за МКАДом, а стоимость увеличивается с учётом цены за километр.
Сервис API Яндекс.Карт рассчитывает точки не мгновенно. На обработку и просчёт 10 точек уходит примерно 1-2 секунды. Поэтому пункты просчитываются по одному, и в это время таблица недоступна. После того, как все точки рассчитаны, менеджеру можно приступать к обработке заказов.
Поступившие заказы обрабатываются по одному, в итоге получается таблица с ценами
Менеджер выбирает группу заказов, которые можно доставить за один день
Можно показать только выбранные заказы
Здесь реализована синхронизация карты и таблицы. Заказы можно выбирать как на карте, так и в самой таблице. Кнопка «Только выделенные» оставляет на карте только выделенные заказы — так удобнее оценить, успеет ли курьер объехать все эти точки за один день.
В будущем данный скрипт будет дорабатываться. Например, можно добавить оценку по времени для выбранных заказов с учётом поездки курьера на машине или на общественном транспорте.
Калькулятор нужен для того, чтобы человек прикинул, сколько будет стоить поездка из точки А в точку Б. При подсчёте учитывается марка автомобиля, количество грузчиков, время в пути, а также через какие тарифные зоны Москвы или Подмосковья проходит маршрут.
Этапы работы калькулятора
Главные поля — откуда и куда, а справа — карта с тарифными зонами
Подсказки при вводе адреса — незаменимая вещь
Убеждаемся по карте, что точки А и Б правильные, и нажимаем Рассчитать
Кликнув рядом с ценой, узнаём, из чего складывается стоимость
Дату и время вводим при помощи удобных инструментов
Выбираем тариф (цена тарифа видна сразу же)
Если что-то случилось со связью, то данные не пропадают
После заказа калькулятор блокируется, появляется кнопка Новый расчёт
Повышение доверия
Показательно, что многие посетители вводят только адрес старта и финиша. Если их устраивает цена, они не доводят заказ до конца, а сразу же звонят. Уточнив детали у менеджера, они радуются, что сумма поездки совпадает с цифрами из калькулятора. Таким образом, калькулятор работает на повышение конверсии и доверия.
Ко мне всё чаще обращаются люди по поводу бумажной карты города. Я не занимаюсь печатью, но могу подготовить любую карту для печати в большом размере. Когда-то я рассказал, как скачать Яндекс.карту в виде картинки, но таким образом вы получаете «голую» карту. Если нужно что-то более интересное, отправляйте задание мне на почту или звоните (телефон есть в Контактах). Какие-то вещи можно сделать при помощи Яндекс.API, но большая часть работы делается вручную. Например, автобусные остановки есть на картах, но они мелкие и без названий, и нет инструмента, чтобы «вытащить» их координаты и названия. Если нужно красиво и читабельно — их придётся расставлять вручную. Вот примеры заказов:
Карта Серпухова с отмеченными участками дорог
Задание: разделить цветом выполненные и планируемые работы по ремонту дорог, указать улицу, площадь и стоимость работ.
Превьюшка и фрагмент карты
Для красоты я выделил город Серпухов жирной линией и высветлил остальную часть карты. Здесь не всё так просто: Яндекс (или Гугл) выделяет области очень тонкой линией (она не видна при печати). Пришлось брать за основу контур от Яндекса, отделять его от фона с помощью Фотошопа, затем переводить в вектор, чтобы итоговая граница была красивая и ровная при печати на большом формате.
На сайте компании коттеджных посёлков мы провели такой АБ-тест: Что лучше изобразить в верхней части страницы посёлка?
Фотогалерею или вот такую обзорную схему посёлка? Идея была в том, что на схеме сразу показано примерное расположение объекта, окружающая инфраструктура — ж/д станции, ближайшие города. Чтобы посетитель сайта сразу понимал, что к чему. Но посетитель оказался не готов к такому повороту событий 😃 Ведь гораздо проще и милее сердцу — живые фотографии из посёлков. А вот эти красивые схемы переехали на вкладку «Окружение». А в дальнейшем их заменили на Яндекс.Карты.
Схемы посёлков сохраняю для истории:
Карта коттеджного посёлка Классика
Расположение посёлка Благодарово
Посёлок Лебединое: схема проезда
Посёлок Лесной городок: расположение и инфраструктура
Карта окрестностей посёлка Маяковский
Посёлок Ручейный и окружающие объекты
Схема дачного посёлка Три жеребёнка
Карта проезда к ДНП Вишенка
Я рисую красивые схемы проезда, карты и другую инфографику. Обращайтесь через раздел Контакты.
Разработал галерею работ с использованием Яндекс карты для компании «Фасад-Гарант». Чтобы фотографии не накладывались друг на друга, была использована кластеризация. Превьюшки + кластеризация — это нестандартное решение, пришлось немного повозиться 😃
Вид карты при загрузке
Зум до Московской области
Зум до Москвы
Показаны объекты менее 500 кв. метров
Показаны объекты более 500 кв. метров
При клике на объект всплывает обычная листалка фоток
До карты на сайте был обычный список работ с превьюшками, разбитый на страницы. Такое представление неудобно с точки зрения навигации: клиент посмотрит 1-2 работы и уйдёт со страницы, потому что фотографии довольно однотипные. А вот карта даёт гораздо больше информации за несколько секунд. Видно количество работ, географический охват, какие объекты выполнены в интересующем районе. То, что фирма уже работала в данном районе, повышает доверие к ней.
Для того, чтобы сделать карту более интересной (и таким образом продлить время её изучения), я придумал кнопки изменения масштаба: Москва, Область, Россия.
При клике на Россию (и при начальной загрузке карты) делается автозум — готовая опция в Яндекс.Картах. Если бы мы показали действительно всю Россию, то работы собрались бы в мелкую кучку в районе Москвы.
Ещё один важный момент: чтобы посетитель не ушёл с карты, превьюшки открываются во всплывающем окне, где их можно сразу пролистывать. Всё это придумано с целью максимально быстрого и лёгкого информирования о работах компании.
Готовая карта поддерживается заказчиком. Организация предельно простая: текстовый файл с адресами + две папки с фотографиями работ по номерам. Также я подготовил инструкцию по установке карты на сайт, добавлению и редактированию объектов.
Яндекс запустил новый конструктор карт, и теперь собственная карта с пометками вставляется всего одной строчкой скрипта. Это удобно для большинства пользователей, но в новом коде встраивания нет координат объектов.
Выкладываю свой скрипт, который выводит координаты полигонов, центра карты и значение зума.
Клик по карте включает режим рисования полигона, следующим кликом ставится первая точка полигона (и так далее). После завершения (клик по точке → завершить) можно таким же образом рисовать следующий полигон. По нажатию кнопки внизу отобразятся координаты всех полигонов (в порядке рисования), потом зум и центр карты.
В предыдущей заметке я рассказал, как захватить большое изображение (карту) по частям при помощи скриншотов и Фотошопа. Однако если есть средства для управления картой (API), то можно лёгким движением получить карту любого размера:
Зачем вообще такая большая карта? Неужели нельзя проматывать её на экране, или купить карту нужной области, повесить на стенку и втыкать в неё флажки?
С помощью инструментов Яндекс.Карт на карте можно расположить «умные» метки (например, разноцветные), маршруты и любую другую информацию. Эти операции можно выполнить вручную или автоматически. Потом карта с информацией печатается, вешается на стенку: это удобно, потому что видно сразу всю карту, а не только её часть. После распечатывания остаётся возможность порисовать на готовой карте.
Или вот ещё идея: распечатать карту с крестиками, а в них воткнуть настоящие флажки. Если объектов сотня, экономится немало времени.
Захват карты в 2 шага
Нам нужно: 1) отобразить карту необходимого масштаба и размера в браузере, 2) сохранить всю страницу в виде картинки (в том числе фрагменты, выходящие за область экрана).
Иногда бывает нужна большая Яндекс— или Гугл-карта. Например, для распечатки на плакате или для создания какого-нибудь приложения.
Если у карты есть API или код вставки, используйте быстрый способ (полностью автоматический, без фотошопа). Если API нет, или вы не понимаете, о чём идёт речь, то читайте дальше.
Сейчас я расскажу, как можно быстро собрать её из кусочков (из нескольких скриншотов). Этот способ подходит не только для карт, но и для любых больших изображений, которые нельзя скачать целиком.
Красивые двухмерные планы посёлка показывают расположение основных объектов, очерёдность застройки, наличие участков для продажи и многое другое. В данном случае на плане представлены картинки-фотки «как это будет»:
На участки можно наводить или кликать мышкой для получения дополнительной информации. Цвет подсказки совпадает с цветом участка (маркировкой в зависимости от статуса участка):
Путь до «Металл-ателье» не совсем прост, но нам удалось показать его доступно:
Это прозрачная и контрастная схема — она в равной степени хорошо смотрится и на белом фоне (при распечатывании), и на сайте компании (там бежевый фон).
По желанию заказчика была подготовлена схема в PDF, её можно посылать по почте или печатать в высоком разрешении:
Выпущенное Google обновление стало продуктом сотрудничества с Океанографическим институтом Скриппса и Национальным управлением океанических и атмосферных исследований США. Обновление получило дополнительное название Google Ocean. Благодаря ему карта имеет более высокое разрешение, в нем исправлены тысячи ошибок, связанные именно с перекрытием данных.
Проверим, как всё обстоит на самом деле. Беглый поиск по карте даёт, например, вот такие результаты:
Глюки на картах Гугл — 1
Глюки на картах Гугл — 2
Глюки на картах Гугл — 3
Глюки на картах Гугл — 4
Оперативно такие глюки не исправляются, так что пока их можно наблюдать на реальной карте:
Короче, по-прежнему очевидны грубые и местами странные следы ручной работы.
Доделал сервис расчёта маршрутов для сайта «МК-Лидер» (с помощью API Яндекс.Карт). Задача была непростая: внутри МКАД одни расценки, за МКАД — другие. Например, для сквозного маршрута через МКАД из Зеленограда до Красногорска нужно рассчитать 5 участков:
1) выезд от базы до Зеленограда, 2) Зеленоград — МКАД, 3) кусочек по МКАДу, 4) МКАД — Красногорск, 5) возврат из Красногорска на базу.
Кроме путей по Москве (внутри МКАД) есть маршруты сквозные, из Москвы в Московскую область (или наоборот), а также только по МО:
Папа откуда-то надыбал карту Сумозера и окрестностей (в районе нашей деревни Ендогубы). Раскидал её на 9 листов А4 — приедем в деревню, склеим и повесим на стенку.
Апдейт. Вот раскрашенная версия и попытка наложить её на Яндекс.Карты: