25 декабря 2009 в 10:22

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

Семинар Яндекс.Карт 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-библиотеку лишний раз.

Заключение

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

Посмотреть фотогалерею семинара
Видеозаписи лекций с семинара
Илья Барышев @Prophet
карма
45,4
рейтинг 0,0
Похожие публикации
Самое читаемое

Комментарии (18)

  • –1
    Люди сидят так, как будто там было очень скучно или чем то просто недовольны.
    • +3
      Не, ни разу не скучно. Просто обстановка была почти домашней)
    • +3
      Это гугловские агенты недовольны что яндекс развивается
  • +1
    Про комерческую составлющую ничего не было?

    (анлог гугловского API Premier)
    • 0
      В ближайших планах ничего пока, как я понял. Если будет востребовано, я думаю то будет реализовано, он как и с флешем не особо актуально видимо.
      • 0
        спасибо.

        Придётся дальше работать с гуглом и ему платить :(
  • 0
    Отличный репортаж, спасибо!
  • +1
    Отличный репортаж!

    А можно ссылкой на материал в клубе поделиться? ;)

    Добавить можно лишь вот чего: в следующем году планируется
    несколько подобных мероприятий и не только в Москве.
    • 0
      Конечно. Спасибо вам всем за организацию и за интересные доклады.
  • 0
    Забавный этот maplos.com:
    Очень жаль, но мы не знаем где это:
    «Москва»
    • 0
      Ну он только по Киеву работает пока. Будет и для остальных городов и стран я думаю со временем.
  • +2
    Увидел себя ровно справа за колонной ( оранжевый и волосатый )
    Семинар был реально интересен, но больше всего понравилось отзывчивость ребят из команды и местная пица( давно такой вкуснятины не ел)

    Кстати — заявленный hotspots Яндекс уже активно использует в фотографиях, правда его выгода обычному пользователю не совсем понятно.
    Споты, по идее, можно отнести к некому гео-хардкору, так как они требуют и довольно сложной серверой разработки( генерить картинки ) так и сам сервер должен быть огого( трафик то опять же отдавать со своего сервера )

    И один вопрос не по теме — ТС — как ваш старый проект( банкоматор ) так быстро отдает гео данные
    у меня напрямую через нгинкс так не получается
    • 0
      Никакой оптимизации там не проводилось пока. Зендовский контроллер делает 1 запрос к базе данных по двум координатам и выдаёт до 100 маркеров. У нас пока не так много объектов в бд, чтобы страдала производительность
      • 0
        в любом случае — порекомендовал бы гуглякартить по умному
        • 0
          Да, статья отличная, я её читал. Есть в планах внедрить в будущем у нас.
          Единственное, что не понял — почему именно так рассчитывается y-координата для тайлов.
          Я наверное, задам вопрос прямо в той теме, чтобы не сваливаться в оффтоп.
  • 0
    Обещали рассказать как делались Яндекс.Карты. Рассказывали?
    • +1
      Рассказывали, смотрите видеозапись первого доклада «Из чего сделаны Яндекс.Карты». Про то, как это работает изнутри — «Фронт Яндекс.Карт».
  • +1
    Узнал новое, хоть и был на семинаре))

    Спасибо, что вспомнили про наш «забавный» проект maplos.com, отлично всё описали!

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