на чем написаны яндекс карты

На каких языках программирования пишут в Яндексе

«Когда-то давно, семь с лишним лет назад, я пришёл на собеседование в Яндекс. Собеседовали по С++, взяли.
Первый день. Самокатная, шумная столовая кислотных расцветок, обед. Суп из пластмассовых прямоугольных параллелепипедов.
— Хочешь писать на С++? — спрашивают меня.
— Нет, — говорю, — не хочу.
— Ну ок, учи Perl.
С тех пор я пишу на Perl и нежно его люблю».

Такую историю рассказал нам разработчик Яндекса, когда мы готовили эту публикацию и проводили опрос. Мы спрашивали у наших разработчиков, на чём они пишут, чтобы выяснить — какие языки программирования в Яндексе самые популярные. В опросе приняли участие больше половины разработчиков компании, расклад получился такой:

Многие разработчики используют в работе несколько языков, поэтому мы просили их выбрать один — тот, на котором они пишут больше всего. В лидерах оказались пять языков: C++, JavaScript, Java, Python и Perl. Все эти языки разные, и каждый лучше решает свою задачу. Поэтому они по-разному используются в Яндексе.

C++ — классический язык для больших и сложных систем, где критически важна производительность. На нём обычно пишутся самые важные, базовые компоненты приложений. Например, на C++ написано ядро поиска Яндекса, Браузер и Карты.

На JavaScript в основном пишут интерактивные элементы сайтов, такие как анимация или браузерные игры. Этот язык очень широко используется в браузерах для написания интерфейсов — того, с чем напрямую взаимодействуют пользователи. На JavaScript написаны веб-интерфейсы всех сервисов Яндекса.

Java — это универсальный язык, на котором можно написать любое приложение, будь то игра Flappy Bird или веб-сервер, обрабатывающий миллионы запросов в минуту. Несмотря на название имеет мало общего с JavaScript. Разработка на нём пойдёт быстрее, чем на C++, однако программа может получиться чуть медленнее. Особенности Java позволяют создавать программы, которые работают практически на любом устройстве — от телефона до микроволновки. На Java у нас написаны, например, Маркет и Музыка.

Python — это дружелюбный к программисту язык с простым синтаксисом. С него хорошо начинать изучение программирования. У нас Python широко используется в системном администрировании, но подходит для решения почти любых задач, кроме обработки больших объёмов данных. На Python многое делать проще и быстрее, чем на C++, но программа будет не такой производительной. Это разумный выбор, когда производительность не очень важна или задачу нужно сделать быстро. На Python написана серверная часть Диска, а ещё он используется в Директе, внутренних сервисах и многих других проектах.

Perl был создан для обработки текстов — например, для извлечения фактов из текста. Талисман языка — верблюд, лишённый изящества, но выносливый и эффективный, — точно отражает его особенности. Это лаконичный, но непростой язык, который, однако, хорошо решает свою задачу. В Яндексе его используют, например, для анализа данных в баннерной системе и в разработке серверной части некоторых сервисов — например, Директа.

С точки зрения задачи выбор языка — это поиск равновесия между эффективностью программы, квалификацией программиста и временем, потраченным на работу. Конечно, в реальности всё немного сложнее, поэтому иногда и случаются истории вроде той, с которой мы начали. «Шёл на вакансию C++, взяли на Perl, пишу на Python, а люблю Scala», — такое тоже бывает.

С точки зрения разработчика, выбор языка — это вопрос предпочтений. Кому-то действительно нравится сам язык, кому-то — задачи, которые он решает. Например, одни предпочитают фундаментальные задачи и пишут базу поиска на C++, а другие любят делать то, что видно пользователям, и пишут интерфейсы на JavaScript. Третьи пишут на каком-то языке просто потому, что знают его досконально. А некоторые, наоборот, готовы пробовать новое и участвуют в разных проектах.

Яндекс делают более шести тысяч человек, из них четверть — это разработчики. По большому счёту неважно, на каком языке пишет человек. Если он профессионал, для него всегда найдётся подходящая задача. Прямо сейчас у нас открыто 90 вакансий для разработчиков в десяти городах. Хотите попробовать свои силы — добро пожаловать (вакансии в берлинском офисе можно посмотреть здесь).

Источник

Мой (нано)опыт с Yandex.Maps API или зачем нужна инструкция

Introduction

Я андроид разработчик и.

Мне довелось допиливать небольшой проект(

500h), в котором на старте было принято решение использовать Yandex.Maps API, потому что зачем для Москвы использовать гугл карты, если есть наши. Сейчас расскажу, как все прошло.

Я не проводил глубоких подкапотных исследований и никаких секретов не открою. Но, если вам, как и мне, надо очень быстро (вчера) начать использовать в вашем проекте карты, надеюсь, помогу сэкономить немного времени.

Если лень читать или сразу нужен вывод, отправляю в последнее “Действие 4: Это конец / TL;DR”

Действие 0: Определения

Начнем с определений: что, зачем, почему.

Задача: отобразить карту Москвы, пинами указать конкретные места, уметь построить маршрут от текущего положения до конкретной точки (или до нескольких).
Технология: Yandex.Maps API. Ссылки на документацию[1] ниже.
Итого: прочитайте документацию, реализуйте фичи.

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

Действие 1: Поиск

Прежде чем изучить документацию, её надо найти. Искать яндекс, конечно же, будем в гугле — найдем [2] или [2].ru [3]. Мы — девелоперы, видим кнопку “для девелоперов” — жмем. Огромная иконка “Maps API” выглядит как то, что нам нужно! (It’s a trap!)

В “. /maps” [4] нас ждут только бесконечный поиск, разочарование и страдания. Которые к нужной документации меня так и не привели.

Возвращаемся на шаг назад, листаем вниз и находим MapKit [5] — нам сюда. Навигация тут довольно грустная, поэтому вот важные ссылки — android samples [6] и Documentation [7] (возможно, иногда получится найти тут что-то полезное).

Действие 2: Поехали

Находим Getting started и приступаем. В начале все просто.

На “Step 3. Set up the library” возникают вопросы. Вью и фабрику нужно обязательно стартовать и останавливать отдельно, иначе, как нам сообщают, ничего не будет работать. Почему? А что будет, если что-то стартану, а что-то нет, или стартану что-то позже? А если несколько вьюх, то для каждого надо фабрику, или это синглтон?

Возможно, это всего лишь QuickStart и дальше мы найдем подробное описание! (нет)

Давайте смотреть, что есть по документации. А все, ничего больше нет. Есть только сгенерированная документация с комментариями типа:

Ладно, на гитхабе есть еще проект с примерами использования [8]. Внутри каждого класса активити есть комментарии о том, что он делает и зачем нужен (после документации это просто подарок судьбы). Есть несколько сценариев: создание кастомного слоя карты, построение маршрута для автомобиля, работа с объектами на карте и некоторые другие.

Выглядит ли апи мощным? Да.
Понятно ли как им пользоваться в случаях, чуть более сложных, чем примеры? Нет.(
Как это понять? ¯_(ツ)_/¯ Нырять с головой в код, по итогу исследований продавать книжку о том, что нашел.

Действие 3: Разрабатываем

Задача 1: отобразить карту
Сложностей не встретил, все есть в гайде.

Задача 2: отобразить пины
Нам нужен “MapObjectsActivity.java», то, что мы ищем, называется Placemarks. Смотрим в код, чтобы понять, что с ними делать.

Задача 3: построить маршрут
Наш друг тут — “MasstransitRoutingActivity.java”. Маршрут можно попросить разный: только на машине, только пешком, и так и сяк; наверняка можно еще учесть метро и другие разные штуки, но я недонырнул.

Дополнительная задача: позиционирование прямое и обратное. Надо же еще уметь определять местоположение. Прямое геокодирование — определять координаты по названию, обратное — определять название по координатам.

Для решения этой задачи придется вернуться в поиск — и найти документацию для js [9]. Она кажется гораздо более подробной и объемной (я завидую). Нам необходим “HTTP geocoding request” [10] — тут довольно понятно написано, что это и как его использовать. Дело за реализацией http запросов-ответов на мобилках.

Действие 4: Это конец / TL;DR

Общие итоги:
Яндекс карты классные. Как ими пользоваться — непонятно.

Хорошая документация, чтобы “потрогать” сервис. Ужасная документация, чтобы что-то с ним сделать. Структура ссылок — “Хрен найдешь”, качество находки — “Вот колесо, оно катится. А далее вы сами легко сможете изобрести машину, ракету, подводную лодку”.

Основные моменты:
Как отобразить карту в проекте? Ссылка [7], тут всё просто.
Как добавить пин на карту? Ключевые слова Placemark, MapObjects. Искать в samples.
Как построить маршрут? Ключевое слово MasstransitRouting. Искать в samples.
Как сделать что-то еще? Искать в samples. Если там нет, то у вас проблемы.

Источник

Как устроены Яндекс.Карты. Лекция Владимира Зайцева в Яндексе

Яндекс.Карты – это высоконагруженный картографический портал, который работает с огромными объемами данных. В своей лекции Владимир Зайцев рассказывает старшеклассникам – студентам Малого ШАДа – о том, как создавать и поддерживать такие ресурсы, и о технологиях, которые для этого используются. А также на примерах объясняет, какие можно разрабатывать инструменты и проводить исследования на базе полученных данных.

Спутниковые снимки и карта

Конечно же, все начинается с карты. Представим, что мы рассказываем своему приятелю, как добраться до вашей дачи. Ну и нарисовали небольшую карту, по которой он сможет пройти от электрички до вашего дома. Он по этой доге прошел и записал GPS-трек. Если вы потом попробуете наложить этот трек на карту, ничего хорошего из этого не выйдет, они просто не будут совпадать. Как же составить такую карту, которая соответствовала бы реальному GPS-треку? Например, мы при помощи лазерного дальномера с разных точек отмерять расстояния до различных точек на местности, а при помощи компаса вычисляем азимуты. При должной аккуратности измерений, у нас уже есть некоторый шанс, что после наложения у нас получится достаточно точная карта, которая будет совпадать с GPS-треком.

Но если применять этот метод для составления более масштабных карт, процесс окажется слишком длительным и трудоемким. Поэтому сегодня для этих целей применяются более технологичные решения. Например спутниковая фотосъемка. Спутники летают над Землей на высоте 200-500 километров и делают фотоснимки при помощи вот таких объективов:

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс карты

Спутник вращается вокруг Земли, а наша планета вращается вокруг своей оси, поэтому если спроецировать траекторию спутника на ее поверхность, получится синусоида. При этом траектория спутника при каждом обороте будет немного смещаться, так что через некоторое количество облетов можно будет заснять всю поверхность Земли.

Но есть две проблемы. Во-первых пролеты над какими-то территориями обязательно придутся на ночное время. А ночные спутниковые снимки представляют исключительно эстетическую ценность, для картографии они бессмысленны. Это обязательно нужно учитывать, и снимать только освещенные части, что может потребовать большего количества пролетов. Вторая проблема – это облачность. Если часть города при съемке закрывают облака, то нам потребуется при следующем пролете спутника над ним снимать эту часть заново. Но если в следущий раз спутник полетит над этим городом в другое время, тени будут направлены в совершенно другую сторону. И если мы совместим два снимка, у нас будет ощущение диссонанса. Поэтому такие спутники летают по солнечно-синхронной орбите, рассчитанной таким образом, чтобы каждый пролет спутника над определенной местностью приходился на одно и то же локальное время.

Итак мы произвели фотосъемку, склеили фотографии, получили одно большое полотно в высоком разрешении. Но съемка производилась с какой-то одной точки, так что некоторые углы у нас будут искажаться. Чтобы скомпенсировать искажения нужно всю картинку перепроецировать. Сделать так, будто каждая фотография была сделана именно над этой точкой.

Есть и еще одна проблема спутниковой съемки. Мы ведь хотим получить цветные фотографии, но при проходе через атмосферу световые лучи разного спектра преломляются по-разному. Поэтому цветной снимок высокого разрешения из космоса сделать не получается. Делается по два снимка. Один – черно-белый, высокого разрешения, а второй меньшего разрешения, но цветной. Затем цветной снимок растягивают и накладывают как текстуру на черно-белый. Это становится заметно, когда в кадр попадают быстродвижущиеся объекты, например, самолеты.

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс карты

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

Но вернемся к самим картам. Допустим, мы смогли разметить на снимках дороги, дома, подписать адреса. В итоге у нас получится вот такая картинка:

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс карты

Теперь нам эту карту нужно раскрасить. Если мы раскрасим кварталы, дома, дороги и водоемы в разные цвета, получится у нас вот что:

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс карты

Уже не так плохо, но мы-то хотим добиться совсем другого результата:

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс карты

На самом деле, перед нами стоит сразу несколько задач. Во-первых, выделить из всего многообразия объектов самые значимые, и в зависимости от масштаба добавлять или убирать менее значимые. Кроме того, есть много пользователей с искажениями зрительного восприятия: примерно десять процентов мужчин страдают такими заболеваниями. И это тоже нужно принимать во внимание. На картинке ниже можно посмотреть, как видят карту люди страдающие дальтонизмом:

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс карты

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

Еще один момент, который нужно учитывать при выборе цветовой палитры заключается в том, что карты часто печатают на черно-белых принтерах, и монохромная карта тоже должна оставаться читаемой:

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс карты

Народная карта

Пробки

Подробно о том, как работают Яндекс.Пробки уже рассказывал в своей лекции Леонид Медников, ну а общее представление можно составить из этой картинки:

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс карты

Досмотрев лекцию до конца, вы узнаете, как устроены не менее интересные компоненты Яндекс.Карт: маршрутизация, Панорамы и API.

Источник

О приложении Яндекс.Карты

Яндекс.Карты — это сервис для поиска мест и маршрутов.

Чтобы пользоваться Картами на мобильном устройстве, установите приложение. С ним вы сможете ориентироваться в городах России и других странах, находить объекты и организации даже без интернета.

Узнайте, как добраться до места назначения пешком, на машине, велосипеде или общественном транспорте.

Объекты и маршруты

Информация об организациях

Объекты и маршруты

Информация об организациях

О приложении Яндекс.Карты

Яндекс.Карты — это сервис для поиска мест и маршрутов.

Чтобы пользоваться Картами на мобильном устройстве, установите приложение. С ним вы сможете ориентироваться в городах России и других странах, находить объекты и организации даже без интернета.

Узнайте, как добраться до места назначения пешком, на машине, велосипеде или общественном транспорте.

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс картыОбъекты и маршруты

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс картыТранспорт на карте

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс картыИнформация об организациях

на чем написаны яндекс карты. Смотреть фото на чем написаны яндекс карты. Смотреть картинку на чем написаны яндекс карты. Картинка про на чем написаны яндекс карты. Фото на чем написаны яндекс картыКарты для водителей

Источник

Главная страница сервиса

Чтобы найти нужный объект или организацию ─ воспользуйтесь поисковой строкой.

Поисковая строка расположена в левой верхней части экрана, на выдвижной панели.

Чтобы увидеть нужное место — нажмите на карту и, удерживая левую кнопку мыши, передвиньте карту в нужном направлении.

Чтобы выполнить другие операции — нажмите нужную кнопку:

Панорамы улиц и фотографии

Моё местоположениеопределяет местоположение пользователя
Приблизить и Отдалитьизменяют масштаб карты
Дорожная ситуациявключает отображение автомобильных пробок и дорожных событий
открывает меню, отображающееся на панели в левой части экрана, под строкой поиска (после авторизации кнопка сменится на ваш портрет):
Войтиоткрывает форму авторизации пользователя. Кнопка доступна, если вы не авторизованы.

Если вы авторизованы, кнопка сменится на ваш портрет и аккаунт. При нажатии на портрет можно изменить фото и публичное имя вашего аккаунта

Оценить местооткрывает список мест, которые вы могли посетить (если вы не авторизованы, откроется форма авторизации). Вы можете оценить место, пропустить или отметить, что не посещали его
Изменить картуоткрывает меню редактирования карты, где можно исправить неточность, добавить новый объект или перейти в Редактор Яндекс.Карт
Съемка дороготкрывает страницу, где вы можете подробнее узнать о появлении ваших снимков в Яндекс.Картах и скачать необходимое для этого приложение
Обратная связьоткрывает окно, где вы можете выбрать тип проблемы и заполнить форму обратной связи
Разместить рекламуоткрывает страницу, где вы можете добавить на Яндекс.Карты свою рекламу
Плюс ( Подключить Плюс )открывает Яндекс.Плюс
Отзывы, фото и исправленияоткрывает страницу Отзывы, фото и исправления, где вы можете просматривать историю и статус своих действий на Яндекс.Картах, а также оставлять отзывы, загружать фотографии и редактировать карту (если вы не авторизованы, откроется форма авторизации)
Закладкиоткрывает список ваших закладок ─ избранных мест на карте (если вы не авторизованы, откроется форма авторизации)
Мои картыоткрывает Конструктор карт (в котором можно построить свою карту)
Владельцам бизнесаоткрывает Кабинет бизнеса на Картах, где вы можете добавить свою организацию (если вы не авторизованы, откроется форма авторизации)

Панорамы улиц и фотографии

Моё местоположениеопределяет местоположение пользователя
Приблизить и Отдалитьизменяют масштаб карты
Дорожная ситуациявключает отображение автомобильных пробок и дорожных событий
открывает меню, отображающееся на панели в левой части экрана, под строкой поиска (после авторизации кнопка сменится на ваш портрет):
Войтиоткрывает форму авторизации пользователя. Кнопка доступна, если вы не авторизованы.

Если вы авторизованы, кнопка сменится на ваш портрет и аккаунт. При нажатии на портрет можно изменить фото и публичное имя вашего аккаунта

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *