Pull to refresh

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

Reading time4 min
Views2.4K
Семинар Яндекс.Карт 12 декабра (мы в центре)

Ура! Мы (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?»

Вот содержимое слайда, которое полностью раскрывает данную тему:
  • меньше объем подгружаемого кода,
  • выше скорость загрузки карты,
  • высокое качество документации,
  • названия улиц,
  • учёт пробок,
  • Клуб Яндекс.карт (очень отзывчивое сообщество).
Автор слайда mpetrunin, автор замечательного сервиса taxovik.ru, который также был среди докладчиков.

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

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

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

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

Бонус

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

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

Заключение

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

Посмотреть фотогалерею семинара
Видеозаписи лекций с семинара
Tags:
Hubs:
+35
Comments18

Articles

Change theme settings