27 декабря 2009 г.

Семинар Яндекс.карт

Семинар ЯндексаУра! Мы побывали на семинаре Яндекс.карт. И хотя прошло уже почти две недели, мы решили написать о том, что нам запомнилось и понравилось. Тем более, что недавно в сеть выложили все видеозаписи лекций с семинара.

Встреча разработчиков проходила в «старом» офисе Яндекса на Самокатной в очень уютной обстановке, за что организаторам большое спасибо. Публика была двух родов - собственно, разработчики, а также менеджеры проектов. Сами доклады были также частью технические, а частью информационные. Было задано большое количество вопросов и многие из них получили ответы.


Перспективы 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 для карт. Не исключено, что когда-нибудь всё это может появиться.

Семинар Яндекс.Карт 12 декабра (мы в центре)


Гости


Разработчики карт позвали своих коллег-пользователей API, чтобы поделиться своими успехами, проблемами и мыслями о внедрении Яндекс.Карт на своих сайтах. Особенно интересно было послушать создателя maplos.com - оригинального мэшапа карт яндекса и поиска Гугл. Он любопытен тем, что не хранит на сервере географические координаты объектов а получает их из выдачи Гугла, формируя для этого серию запросов на основе <запрос пользователя>+<название улицы> и отображая полученные результаты на карте с помощью геокодера. Пока работает только для Киева.

Ответы на вопросы


Разработчики очень охотно отвечали на все задаваемые им вопросы и не обошли вниманием оставленный нами при регистрации банальный, но актуальный вопрос: «Почему Яндекс.карты, а не Google Maps?»

Вот содержимое слайда, которое полностью раскрывает данную тему:

  • меньше объем подгружаемого кода,

  • выше скорость загрузки карты,

  • высокое качество документации,

  • названия улиц,

  • учёт пробок,

  • Клуб Яндекс.карт (очень отзывчивое сообщество).


Автор слайда , автор замечательного сервиса taxovik.ru, который также был среди докладчиков.

Для нас, как и для многих, решающим является наличие карт для различных городов России, которых, как ни крути у Гугла пока нет и вся мощь его API неприменима во многих случаях. Ждите появления Яндекс.Карт в наших новых и старых проектах :)

Менеджмент и правовые вопросы вопросы по картам


Была озвучена правовая позиция по вопросам копирайтов и ключей. Ключ является признаком принятия пользователем API условий лицензионного соглашения. Согласно которому поставщики карт «делегируют» свои права Яндексу, поэтому его копирайт совсем не означает, что карты ему принадлежат, а таким образом нивелируется всё многообразие источников данных.

Карты приходят от множества «хороших» и не очень поставщиков. Формат — ArcGIS и MapINFO.
Работа с материалами сводится к унификации данных и контролю за их соответствием предъявляемым требованиям, индексированию, отрисовке (и дизайну) векторных объектов. Яндекс считает, что есть куда двигаться в плане улучшения внешнего вида получаемых рендеров.
Взаимоотношения Яндекса и поставщиков не односторонние: компания является также посредником по вопросам баг-репорта. Она отсылает поставщикам найденные пользователями ошибки и даже контролирует их устранение. Такое поведение связано с тем, что по лицензионному соглашению Яндекс не может вносить свои коррективы в векторные карты.
Отдельная песня — это спутниковые снимки, при работе с которыми возникают проблемы кривости привязки географических объектов и физических координат (так как векторные карты не всегда точны и актуальны).

Бонус


Главный пользователь API — сам Яндекс! От разработчиков узнали несколько нюансов, на которые стоит обратить внимание. Во-первых, что естественно, много времени было потрачено на клиентскую оптимизацию, самым действенным приёмом которой было разделение загрузки на предзагрузку, что включает в себя загрузку основного (базового) функционала и его инициализацию, что подвешивает браузер, но не на много, и постзагрузку добавочных модулей, дополнительных слоёв. Манипуляции сервисами и слоями работают независимо. Так как сложность у maps.yandex.ru достаточно велика, была организована архитектурная схема общего контроллера. Она заключается в том, что основные модули (форма поиска, кликалка точек, маршрутный лист, карта, маршруты) взаимосвязаны друг с другом не напрямую, а через общий контроллер, который следит за различными событиями, и освобождает от этой рутины модули.

Для некоторых может стать открытием, но API карт Яндекса содержит внутри себя полновесную jQuery 1.3.2, правда немного пропатченную. Для проектов, в основе которых лежит API карт, можно сэкономить пару десятков килобайт, не подгружая js-библиотеку лишний раз.

Заключение


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

Посмотреть фотогалерею семинара
Видеозаписи лекций с семинара

1 комментарий:

  1. Интересный отчет, спасибо. Небольшая поправка, форматов ArcGIS и Mapinfo нет, это названия пакетов, есть ESRI Shape и TAB, MIF/MID.

    ОтветитьУдалить