Ура! Мы (piumosso и prophet) побывали на семинаре Яндекс.карт. И хотя прошло уже почти две недели, мы решили написать о том, что нам запомнилось и понравилось. Тем более, что недавно в сеть выложили все видеозаписи лекций с семинара. Встреча разработчиков проходила в «старом» офисе Яндекса на Самокатной в очень уютной обстановке, за что организаторам большое спасибо. Публика была двух родов — собственно, разработчики, а также менеджеры проектов. Сами доклады были также частью технические, а частью информационные. Было задано большое количество вопросов и многие из них получили ответы.
Перспективы API
… или что ждёт нас в новом году:Ветка 1.1
- улучшенная поддержка KML (когда создавался формат YMapsML, KML носил клеймо проприетарности, но теперь, когда он стал открытым стандартом, Яндекс уделит внимание и ему), поддержка GPX
- поддержка модульности для новых фич (к сожалению, на данном этапе не на уровне ядра, а на уровне новых дополнительных модулей. Это означается, что ядро сохранит свой 88-килобайтный код, даже если вам не нужны, скажем, полигоны);
- модуль «метро» (поиск ближайшей станции метро);
- модуль «Hotspots» (возможность показать на карте очень много объектов с помощью рендера их на карте).
Все эти полезности увидят свет в первую очередь, но сроков Яндекс по традиции не называет. Затем нас всех ждёт достаточно серьёзный апгрейд API, связанный с потерей обратной совместимости (это будет ветка 1.2). Делается это для того, чтобы исправить допущенные ошибки, переделать архитектуру составных частей API, чтобы увеличить быстродействие и сократить объем кода. В принципе, практически те же цели преследует и Гугл (их версия нового API v3 карт вышла в мае), там больший упор сделан на мобильную версию.
Ветка 1.2
- унификация API, где оно не единообразно;
- GeoObject + Geometry вместо Placemark и Polygon (В данной паре Geometry будет отвечать за всю логику, связанную с координатами);
- MultiGeometry (соответствие нескольких геометрий одному объекту);
- уменьшение размера ядра за счёт тотальной модульности;
- повышение удобства работы с событиями;
- повышение удобства отладки.
А также Tiler — программа для автоматической нарезки изображений на тайлы для создания собственных «карт» с использованием API. Уже успела выйти пока мы писали этот пост :)
Чего не ждать в ближайшее время
К сожалению (или к счастью), в ближайших планах не назвали ни API для информации по пробкам, ни API для панорам, ни создание снимков Bird's Eye, ни Flash API для карт. Не исключено, что когда-нибудь всё это может появиться.Гости
Разработчики карт позвали своих коллег-пользователей API, чтобы поделиться своими успехами, проблемами и мыслями о внедрении Яндекс.Карт на своих сайтах. Особенно интересно было послушать создателя maplos.com — оригинального мэшапа карт яндекса и поиска Гугл. Он любопытен тем, что не хранит на сервере географические координаты объектов а получает их из выдачи Гугла, формируя для этого серию запросов на основе <запрос пользователя>+<название улицы> и отображая полученные результаты на карте с помощью геокодера. Пока работает только для Киева.Ответы на вопросы
Разработчики очень охотно отвечали на все задаваемые им вопросы и не обошли вниманием оставленный нами при регистрации банальный, но актуальный вопрос: «Почему Яндекс.карты, а не Google Maps?»Вот содержимое слайда, которое полностью раскрывает данную тему:
- меньше объем подгружаемого кода,
- выше скорость загрузки карты,
- высокое качество документации,
- названия улиц,
- учёт пробок,
- Клуб Яндекс.карт (очень отзывчивое сообщество).
Для нас, как и для многих, решающим является наличие карт для различных городов России, которых, как ни крути у Гугла пока нет и вся мощь его API неприменима во многих случаях. Ждите появления Яндекс.Карт в наших новых и старых проектах :)
Менеджмент и правовые вопросы вопросы по картам
Была озвучена правовая позиция по вопросам копирайтов и ключей. Ключ является признаком принятия пользователем API условий лицензионного соглашения. Согласно которому поставщики карт «делегируют» свои права Яндексу, поэтому его копирайт совсем не означает, что карты ему принадлежат, а таким образом нивелируется всё многообразие источников данных.Карты приходят от множества «хороших» и не очень поставщиков. Формат — ArcGIS и MapINFO.
Работа с материалами сводится к унификации данных и контролю за их соответствием предъявляемым требованиям, индексированию, отрисовке (и дизайну) векторных объектов. Яндекс считает, что есть куда двигаться в плане улучшения внешнего вида получаемых рендеров.
Взаимоотношения Яндекса и поставщиков не односторонние: компания является также посредником по вопросам баг-репорта. Она отсылает поставщикам найденные пользователями ошибки и даже контролирует их устранение. Такое поведение связано с тем, что по лицензионному соглашению Яндекс не может вносить свои коррективы в векторные карты.
Отдельная песня — это спутниковые снимки, при работе с которыми возникают проблемы кривости привязки географических объектов и физических координат (так как векторные карты не всегда точны и актуальны).
Бонус
Главный пользователь API — сам Яндекс! От разработчиков узнали несколько нюансов, на которые стоит обратить внимание. Во-первых, что естественно, много времени было потрачено на клиентскую оптимизацию, самым действенным приёмом которой было разделение загрузки на предзагрузку, что включает в себя загрузку основного (базового) функционала и его инициализацию, что подвешивает браузер, но не на много, и постзагрузку добавочных модулей, дополнительных слоёв. Манипуляции сервисами и слоями работают независимо. Так как сложность у maps.yandex.ru достаточно велика, была организована архитектурная схема общего контроллера. Она заключается в том, что основные модули (форма поиска, кликалка точек, маршрутный лист, карта, маршруты) взаимосвязаны друг с другом не напрямую, а через общий контроллер, который следит за различными событиями, и освобождает от этой рутины модули.Для некоторых может стать открытием, но API карт Яндекса содержит внутри себя полновесную jQuery 1.3.2, правда немного пропатченную. Для проектов, в основе которых лежит API карт, можно сэкономить пару десятков килобайт, не подгружая js-библиотеку лишний раз.
Заключение
Очень понравилось то, что разработчики Карт Яндекса охотно общались с публикой, формат докладов не был сильно ограничен по времени, а желающие могли остаться и побеседовать с яндексоидами лично. Повторимся, полезной и интересной иноформации на семинаре было в избытке, советуем посмотреть видеозаписи.Посмотреть фотогалерею семинара
Видеозаписи лекций с семинара