Как сделать радиус в 2 гис

Добавил пользователь Евгений Кузнецов
Обновлено: 30.08.2024

Первое время компания пыталась сотрудничать со сторонними организациями — покупала базы данных, обращалась в рекламные агентства, приглашала специалистов для создания рубрикатора. Но эта практика оказалась неэффективной. Компанией было принято решение развивать собственные службы по каждому из основных бизнес-процессов. Поэтому, в том же 2001 году начал формироваться информационный отдел и отдел продаж.

В 2002 году приложение ДубльГИС впервые было бесплатно доставлено на компакт-дисках в 15 тысяч офисов Новосибирска.

В 2006 году выпущены онлайн-версия справочника и версия для КПК на базе Windows Mobile. ДубльГИС в Новосибирске разделился на управляющую компанию и филиал для продажи рекламных позиций.

В 2007 году выходит ДубльГИС 3.0, новая версия программы с интерфейсом в стиле MS Office 2007.

В 2010 году впервые проводится IT-конференция CodeFest.

В 2011 году компания проводит ребрендинг, в результате которого продукты получают название 2ГИС (ДваГИС)[17]. Спустя 12 лет после первого выпуска 2ГИС приходит в столицу — выпущен справочник Москвы. Релиз мобильных приложений для Android и iOS

В 2012 году 2ГИС выходит в итальянских городах Венеции и Падуе. Это первый выпуск за пределами СНГ

В 2013 году происходит очередное обновление фирменного стиля.

Зарубежная экспансия продолжается: 2ГИС появляется в Чехии и на Кипре.

Выходит приложение для Windows Phone. Анонсирована концепция и интерфейс нового 2ГИС.

2014 год: ещё несколько новых рынков, в том числе Чили. В августе 2014 года выходит карта Дубая.

В ноябре 2016 года компания отказалась от проектов, не набравших ожидаемой аудитории, и провела оптимизацию штата.

Президент компании Вера Гармаш заявила, что оптимизация затронула менее 5 % специалистов управляющей компании и сети собственных филиалов.

В апреле 2017 года 2ГИС запустил пешеходную навигацию с построением пеших маршрутов на своих картах.

В июле 2017 года компания выпустила туристические путеводители по крупнейшим городам в странах присутствия. Путеводители включают описания основных достопримечательностей, общепита и шопинга.

В ноябре 2017 года компания заключила соглашение о сотрудничестве с китайской компанией Huawei. В результате на смартфонах Huawei и Honor, которые продаются в России, начали предустанавливать приложение 2ГИС.

Ранее сервис начали предустанавливать на свои российские модели компании LG, Fly, DEXP и Micromax.

В марте 2018 года Apple встроила данные о компаниях из справочника 2ГИС в свои российские карты.

Ключевые фигуры, основатели

Александр Вадимович Сысоев, генеральный директор (70%)

Дмитрий Александрович Сысоев (30%)

Электронные справочники и карты

1 065 846 000 ? (2017)

3 046 012 000 ? (2017)

261 286 000 ? (2017)

61 020 000 ? (2017)

3 122 878 000 ? (2017)

По данным компании на июль 2018 года, карты-справочники 2ГИС работают более чем в 350 городах, а их месячная аудитория превысила 40 миллионов пользователей. Сервис ежедневно обрабатывает более 2,2 млн поисковых запросов.

В 2013 году компания заработала 3 млрд рублей

Это Википедия, ребята

Этим ребятам надо памятник поставить! 2гис - великая вещь))

Иногда ничего. Искал, где купить шаурму, набрал в поиске шаурма, нашёл, построил маршрут, по приезду пожелал приятного аппетита. Яндекс так не умеет, по запросу "шаурма" ведет ко всяким ресторанам и киргизским кухням. А 2гис привел ровно к ларьку шаурмы. Короче, за такой подход плюс. За пешеходные маршруты плюс

Уникальность 2ГИС в том, что они умеют втюхивать рекламу как справочник организаций. Самое интересное, что рекламные места не маячат перед глазами, а локонично размещаются на заставке, карте и самом справочнике. Что не мешает работе и не вызывает негатива.

Лучшая программа. Новый город? Первым делом 2гис. Что получаем - такси гостиницы и и.п. 2016 по моему. 2гис в Бишкеке вообще никак без него. Точки для экспедитора с компаниями - пожалуйста. Гугл и Яндекс карты - к черту. Компания такая-то где находится -дубль ГИС карта проезда и время работы. Бесценна для экспедитора и снабженца. Спасибо за вашу работу. И да, бесплатно.как-то так. Плохо если уйдете с рынка

Давайте так. Вот честно. Для снабженца 2gis -алмаз в огранке. Я когда приехал в Бишкек вообще был малом ступоре, но туда зашёл ДубльГИС. И все прекрасно, чтобы выдать точки поездки, согласовать с фирмами, позвонить им , договорится времени КОЛЛОССАЛЬНО меньше уходит. Спасибо за работу ещё раз.

2гис три компании, их телефоны. Звонки, маршрут, согласования по объему груза. Доставка, СФ, ТТН, телефон у кого я что заказал где? Именно в 2гис. Ещё раз спасибо.

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

Оценивали в 2019 в 244кк долларов,а продались СБЕРу в 2021 за 12ккк рублей,а это всего 160кк долларов. 33% цены потеряли за 2 года.

Тырила данные OSM

Эта говнина хотяб научилась маршрут пересчитывать, когда съезжаешь с проложенного маршрута?

О плохом)
н
Нет единого аккаунта. На телефоне куча избранных, на компе нет.с компа вообще нет аккаунта. Плохо. Второе - есть трекер, но он не объявляет остановку за n установленное минут. Уснул я вот в автобусе и что дальше? На карты пялиться? Удачи ребята.

Чистая прибыль за 2017 год 61 лям в рублях? Для такой компании это провал, абсолютный.

Бесполезная база рекламы с прикрученой к ней картой. Хоть карта и ничего так, но реклама продажная помойка, беспощадно трут неугодные отзывы, не следят за накруткой. И вообще пропускают мимо глаз тех кто им платит. В общем 2 гиса из 10 в анус создателю

Трое мальчиков избили девочку

Трое мальчиков избили девочку Самара, Школа, Школьники, Избиение, Негатив, Длиннопост, Кавказцы, Дети, Угроза

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

Сила фильтра

Сила фильтра Картинка с текстом, Служебный роман, Алиса Фрейндлих, Фильтр, Девушки, Актеры и актрисы


"Будте здоровы!"



Сегодня

Веду шестилетнюю дочку домой из садика. И она мне рассказывает:

— Вот когда я была маленькая я лежала в кресле и вообще ничего не понимала что происходит вокруг.

— Ничего, доча — говорю — я до сих пор не понимаю, что вокруг происходит. А ты помнишь, кем ты была в прошлой жизни?

— Немножко помню — отвечает — Но мне стыдно об этом рассказывать.


Рановато ещё

Было мне 22 года и задумал жениться, всё люблю не могу, захотел уже с родителями девушку свою знакомить. Они за 200 км от меня жили. А они и говорят, что ты мол пока не спеши, в ваших краях через пару дней будет твоя какаятоюродная тётка, с ней поговори, может что дельное подскажет, она женщина опытная, 32 года, два раза замужем побывала. Встретились мы с тёткой на квартире, девушка на второй смене была. Начала она мне говорить про то, что ещё рано, надо присмотреться друг к другу и всё в этом духе. А я её вполуха слушаю, а у самого, извините, одно желание - трахнуть эту тётку. Тем более симпатичная, зараза, оказалась. Но порывы свои обуздал. Понял я тогда, что жениться мне рановато, правда не слова тётки на меня повлияли.


Ну а что ты хотела

Ну а что ты хотела Twitter, Внуки, Родители, Бабушки и дедушки, Помощь, Скриншот, Часики тикают, Юмор, Дети, Родители и дети

Вы правда думаете что у вас, 30 летние будет пенсия?

Вы правда думаете что у вас, 30 летние будет пенсия?

Посадившей полицейских за пытки многодетной матери пришлось переехать из-за травли

Посадившей полицейских за пытки многодетной матери пришлось переехать из-за травли Негатив, Суд, Уголовное дело, Иркутская область, Полиция, Следственный комитет

На протяжении пяти лет женщина добивалась справедливости. А когда добилась, ей пришлось покинуть город. Жизни ее семье там не дали.

Супруг потерпевшей Павел Глушенко рассказал, как изменилась жизнь семьи после победы.

- Пока нет, так быстро его не продашь.

- Пока не хотим афишировать новое место, но остались в том же регионе. Недалеко от нашего Усолья.

- Осужденные полицейские собираются обжаловать приговор?

Да. Уже состоялось одно заседание. Но решение по нему судья пока не вынес

- Что полицейские говорили в свое оправдание?

- Заседание длилось три часа. Адвокаты осужденных принесли пачку бумаг, положительные характеристики на осужденных, которые не имели отношения к делу. Например, защитники рассказывали, что один из них исправно платит взносы в садоводческом хозяйстве, помогал прокладывать там трубы. На суде мы узнали, какие у них остались кредиты, и как туго приходится их женам. Главный наш казак вынес им благодарность за общественные работы. Оказывается, осужденные принимали участие в Масленице и в других праздниках. Но самое интересное, что адвокаты полицейских предоставили коллективное обращение в суд от сотрудников полиции, которое подписали 300 человек. Парадокс заключается в том, что суд доказал вину полицейских, но коллеги продолжает их поддерживать. Выходит, они тем самым оправдывают пытки. Разве мы могли оставаться жить в таком городе?

Трудовик уволился!

Вот и всё! Кончилась моя карьера трудовика, 10 лет я был в этой роли, даже стал учителем высшей категории. Работа нравилась, предмет я знал и умел интересно его преподнести, с детьми очень ладил. Разрушил стереотип трудовиков из 90х, всегда опрятный, интеллигентный и (естественно) трезвый. Ну и конечно неоспоримый плюс был в том, что я по образованию именно "Учитель технологии", а не случайный человек. На Пикабу недавно были посты по теме " Ушёл с нелюбимой работы на любимую, но с ЗП меньше". Так вот, у меня случилось как раз наоборот. Дело не в жадности, просто жить стало невозможно, цены растут, зарплата 3 год падает и превратилась в позорные 20 тыс. И вот я на новой работе, за скромные 35 тысяч, но на которые уже реально прожить. Работа не сложная, но скучная, грустная и совершенно не моя.

Таксозавры во Внуково

Прилетел тут в Москву из дальних стран. Заказываю Яндекс-такси до Ленинградского вокзала. Прайс Комфорт - 1500р. Ну ради любопытства спрашиваю у бомбилы в предбаннике терминала. Тот называет цену 4000р. Я ему показываю цену на экране смартфона, тот, не моргнув глазом п. т, что это цена только за посадку в машину. Оригинальное объяснение, конечно. Естественно посылаю его нахер и еду на Яндексе
Но мне вот интересно, неужели у этих таксозавров что-то получается заработать при такой денежной политике?

Будь проще

Будь проще Картинки, Юмор, Транспорт, Цветы, Свидание, Повтор

Надо бы поточнее

Надо бы поточнее


Ведьмак от Netflix

Когда просто хотел денег

Ведьмак от Netflix Картинка с текстом, Мемы, Сериал Ведьмак, Ведьмак, Netflix, Юмор, Анджей Сапковский


Лет 15 назад мы с женой решили купить участок под дом, построить дочке. Нашли объявление, поехали посмотреть. Муж с женой, вроде приличные люди. Участок хороший, единственное, что рядом остатки недостроеного сахарного завода - плиты, бетонная арматура и тд. Ладно, забор закроет.

Договорились о цене, дали задаток, мужик приговаривал, что какой хороший участок, в жизни бы не продавал, да деньги нужны.

Через несколько дней должны были снять деньги с депозита. Мы взяли копию плана участка, который они не показали в первый раз, поехали посмотреть - а они нам показывали другой участок. А тот, который хотели купить - прямо на территории брошеного сахарного завода.

Звоню мужику, говорю, мол зачем вы нас обманули, показали не тот участок. Нам не нужны руины, нам нужен нормальный участок для застройки. Мы не будем заключать сделку, верните деньги. На что он начал нести форменную пургу: да не может такого быть, что он сам не знал, что ему показали другой участок, денег не верну, задаток не возвращается по-закону. Я ему звонил ещё не раз, звонил ей - бесполезно. Мол не еби голову, беру участок, наймешь бульдозер, бригаду узбеков - все уберут. Да может быть и убрали бы, но оно того не стоит, это не Москва, в степном посёлке дороже будут работы, чем участок, потому что объем реально велик.

Мне деньги не было жалко, сумма не такая уж и большая была. Но дело пошло на принцип, мне было обидно, что меня обманули и развели, как лоха. Пошёл к юристу и написал заявление.

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

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


В 2014 году 2ГИС выпустил Этажи — это фича, позволяющая посмотреть схему этажей здания и найти на ней нужную организацию. Долгое время она существовала только в мобильных приложениях 2ГИС. Теперь эта возможность появилась и в онлайн-версии.

Этажи для веба сделаны на технологии WebGL: они полностью трёхмерные, их можно крутить и приближать. Это первый проект компании, сделанный на этой технологии, и мы хотели бы поделиться опытом реализации.

Технологический стек

Технология WebGL, позволяющая делать полноценную трёхмерную графику с аппаратным ускорением в браузере, быстро набирает популярность в веб-картографии. В качестве удачных примеров её применения можно привести уже упомянутые здесь Google Maps, а также библиотеку Mapbox GL.

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

Недостаток WebGL — в большой сложности и высоком пороге вхождения. Поэтому, несмотря на то, что технологии уже 5 лет, популярность её до сих пор невысока. Мы давно хотели опробовать WebGL на какой-нибудь не самой сложной задаче, и Этажи стали отличной возможностью это сделать.

Наш проект состоит из WebGL-приложения, встроенного в онлайн-версию 2ГИС, и бэкенда, который раздаёт ему данные. При заходе в Этажи приложение загружает с бэкенда данные и отрисовывает по ним здание.



Схема архитектуры Этажей

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

Работать с WebGL напрямую трудно: это низкоуровневое API, в котором для достижения самых простых вещей приходится писать много кода. В нашей вводной статье по WebGL описывается, как на чистом WebGL нарисовать вращающийся куб, и полный код получившегося примера занимает более 200 строк. Поэтому на раннем этапе разработки мы использовали популярный WebGL-фреймворк three.js.

Однако, three.js — тяжеловесный комбайн с огромным числом возможностей, из которых мы использовали лишь малую часть. Поэтому в определённый момент мы заменили его на собственноручно написанную библиотеку 2gl, в которой есть только то, что нам нужно.

Использование своей библиотеки уменьшило размер сборки приложения более чем в два раза и значительно повысило его производительность.

Как мы трудности преодолевали

Разработка WebGL-движка для рисования планов помещений — далеко не самая стандартная задача для фронтенд-разработчика. В ходе работы над Этажами нам пришлось решить множество необычных, интересных и зачастую неожиданных проблем, о некоторых из которых мы решили написать в этой статье.

Как сделать плоское объёмным?

Когда мы начали работу над этажами и стали изучать формат исходных данных, оказалось, что они даже не трёхмерные. Форма каждого этажа представляется набором двухмерных площадных (комнаты) и линейных (стены) геометрий. Для плоского отображения этажей в мобильной версии 2ГИС такого формата достаточно. Нам же пришлось придумать, как придать этажам объём.

С площадниками проблем не оказалось: мы просто рисуем их в плоскости пола. А вот со стенами пришлось повозиться. Сначала мы попробовали просто брать линии и делать из них плоские стены нулевой толщины. Получилось некрасиво:



Ранний прототип Этажей с плоскими стенами

В реальном мире стены имеют толщину. То же самое нужно было сделать и в Этажах.

Анимация работы алгоритма для разной толщины стен

Этот простой алгоритм работает хорошо, только если требуется маленькая толщина стен. Если же стены нужно раздвинуть далеко, а особенно, если в данных при этом есть пересечения под острыми углами, результат уже будет некорректным:



При большой толщине появляются артефакты

Однако, когда мы посмотрели на результаты его работы, оказалось, что на наших данных он даёт хорошие результаты в 100% случаев, поэтому придумывать что-то более сложное оказалось вовсе не нужно.

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



Стены теперь материальны

Как запрограммировать инерцию?

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

О том, как в общем устроена инерция в картах, можно почитать в этой статье. Описанное в ней решение имеет один недостаток: в нём анимация замедления полагается на периодический вызов специальной функции, которая на каждом кадре уменьшает скорость карты в определённое число раз. Такая реализация будет работать корректно только при постоянном FPS. Если же FPS просядет, то эта функция будет вызываться реже, и анимация продлится дольше, чем нужно.

Чтобы убрать зависимость от FPS, необходимо положение карты вычислять на основе времени, прошедшего с начала анимации. Вычислять его нужно по какой-то формуле.

Что это должна быть за формула? Первый ответ, который пришёл нам в голову — кинематическое уравнение равноускоренного движения из учебника физики за восьмой класс. Вот оно:


Здесь:
x0 — начальное положение
v0 — начальная скорость
a — ускорение

Идеально! x0 и v0 нам известно, а подобрав значение константы a, мы сможем анимацию настроить. А главное, что инерция, работающая по такой формуле, будет реалистичной и производить хорошее впечатление.

Так мы думали, пока не запрограммировали эту формулу. Оказалось, что она работает из рук вон плохо. При малых по модулю значениях ускорения ТЦ неконтролируемо уезжал за пределы экрана после малейшего движения мышью, будто машина на скользком льду, при больших — карта останавливалась почти мгновенно после драга.

Оба варианта создавали одинаково неприятное впечатление: в первом случае терялось чувство контроля, в втором создавалось впечатление плохо смазанного механизма. Золотую середину найти никак не получалось.

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

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

Как подписать комнаты?

Комнаты и объекты на этажах мы обозначаем с помощью маркеров и подписей к ним. Как нарисовать маркеры в рамках WebGL-приложения? Самое простое решение — создать для каждой из него по DOM-элементу и отображать их поверх WebGL-канваса. На каждом кадре необходимо вычислять новую позицию каждого маркера и передвигать соответствующие им DOM-узлы.

Нам пришлось почти сразу отказаться от этой идеи по одной простой причине: DOM — это слишком медленно. Необходимость обновлять позиции большого количества DOM-элементов на каждый кадр приводила к росту времени отрисовки кадра в десятки раз.

Выход один — использовать WebGL-спрайты. Достаточно нарисовать прямоугольник (а именно — два треугольника), натянуть на него нужную текстуру и поместить в 3D-сцену. Именно так, например, рисовались монстры в старых 3D-шутерах:



Почти то, что нам нужно

От зомби в Doom II маркеры в этажах отличаются только одной деталью: их размер не зависит от расстояния до камеры. Это требование легко реализовать с помощью кастомного вершинного шейдера: мы написали для маркеров специальный шейдер, который позиционирует вершины спрайта именно так, как нужно для сохранения постоянного размера в пикселях.

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



Что будет, если одновременно подписать все объекты этажа

Распространённым решением этой проблемы является кластеризация маркеров. Этот подход заключается в том, что среди множества всех маркеров выделяются группы наиболее близкорасположенных (кластеры), и при уменьшении масштаба кластер заменяется одним сборным маркером.

В этажах мы используем более простой подход, который мы назвали генерализацией: мы просто присваиваем каждому маркеру некоторый приоритет и скрываем маркеры с низким приоритетом, если они перекрывают более важные маркеры.

Для проверки пересечения маркеров нужно представить их в виде баундов — прямоугольных областей, которые они занимают на экране. А приоритеты мы выбираем на основе типа маркера: например, объекты инфраструктуры (лифты, туалеты и т. д.) имеют самый большой приоритет, поэтому они всегда будут видны даже на самых мелких масштабах.


Работа генерализации: оставляем самое важное

Наивная реализация такого алгоритма имеет квадратичную трудоёмкость: каждый маркер требуется проверять на пересечение со всеми остальными. Чтобы он работал быстрее, мы применили прекрасную библиотеку rbush, реализующую структуру данных R-дерево. R-дерево умеет хранить прямоугольные области и быстро выполнять поиск их пересечений — это как раз то, что нам нужно.

После применения rbush трудоёмкость становится n * log(n), и на этажах Дубай Молла (до 1000 объектов на этаже) алгоритм отрабатывает за ~10 мс. Переместив его выполнение в веб-воркер, мы полностью исключили его влияние на FPS.

Последняя трудность в отрисовке маркеров на WebGL — сделать их кликабельными. У DOM-элементов есть события (click, mouseover и т. д.), на которые достаточно просто подписаться; в мире WebGL такого нет. Поэтому необходимо научиться по координатам курсора самостоятельно определять, в какой маркер кликнул пользователь.

Здесь нам на помощь опять приходит библиотека rbush: достаточно построить R-дерево, содержащее баунды всех видимых в данный момент маркеров, и для обработки клика просто выполнять по нему поиск. Поиск по R-дереву — логарифмическая операция, выполняется она быстро, и можно без проблем выполнять её не только по клику, но и по любому изменени положения курсора. Это позволяет сделать маркеры чувствительными не только к клику, но и наведению мыши.

Как сделать изометрию красивой?

Нетрудно заметить, что в Этажах используется изометрическая проекция, что для веб-карт довольно необычно.

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

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



Неудачный угол поворота

Это не очень красиво: вертикальные стены оказываются почти невидимыми, карта читается плохо.

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



Удачный угол поворота

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




Fallout 2 и Theme Hospital

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

Если архитектура помещений в изометрических играх, как правило, простая (все стены перпендикулярны), то с реальными зданиями всё не так просто: в наших данных имеются торговые центры очень причудливых форм, где стены пересекаются под самыми странными углами.

Однако, мы заметили, что даже в самых сложных по форме зданиях имеется некоторое направление, в котором расположено преобладающее большинство стен.

В математике, если множество содержит более одной моды, оно называется мультимодальным. Открывая разные здания на Этажах в 2ГИС, можно увидеть, что этот термин можно применить и к некоторым торговым центрам:

Несмотря на то, что мод несколько, одна из них более модная. По ней мы и разворачиваем план ТЦ. Математика порой проявляется в нашей жизни в самых неожиданных формах, и это, пожалуй, один из таких случаев.

Выводы

Большую часть времени Этажи разрабатывались двумя программистами. Когда мы начинали работать над проектом, никто из нас ничего не знал ни о WebGL, ни о 3D-графике вообще, да и опыт веб-разработки у нас был довольно скромный.

Первые версии Этажей выглядели страшно и работали в лучшем случае на 20FPS. В ходе разработки мы набили все шишки, которые только могли набить, не раз целиком переписывали большие части проекта. Но результат каждый раз получался чуть лучше предыдущего, и это вдохновляло нас с самого первого прототипа, и вдохновляет до сих пор.

Не бойтесь пробовать WebGL: эта технология позволяет делать действительно фантастические вещи.

Как сделать отметку в 2 Гис?

Как передать свои координаты?

Шаг 2. Отправьте геоданные

Как поделиться ссылкой на карточку в 2ГИС

Как скинуть Геолокацию в Ватсап?

Как поделиться геоданными

  1. Включите разрешение доступа к местоположению, зайдя в Настройки своего телефона > Приложения и уведомления > Дополнительно > Разрешения приложений > Местоположение > включите для WhatsApp. …
  2. Откройте индивидуальный или групповой чат.
  3. Нажмите Добавить > Место > Делиться геоданными.

Как определить широту и долготу?

Важно: Географическая долгота измеряется от 0 до 180° . Чтобы определить географическую широту, нужно от заданной точки провести воображаемую прямую вдоль ближайшей параллели. Это и будет географическая широта.

Где я нахожусь в данный момент?

Как посмотреть, где вы были

Как проложить маршрут между городами в 2 Гис?

Что может 2 Гис?

Что умеет навигатор 2ГИС

  • рассчитывать время в пути;
  • показывать точный путь и расстояние до очередного маневра;
  • строить маршруты с промежуточными точками — можно указать несколько пунктов маршрута в нужном порядке, и Навигатор построит подходящий маршрут;

Чем занимается компания 2 Гис?

Какие организации размещаются в 2гис?

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

Чтобы осуществить задуманное, было выбранно решение создать карту для сайта с использованием Яндекс API Карт, так как этот вариант позволяет делать с картой всё, что угодно.

Создание Яндекс API в кабинете разработчика

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

Как создать Яндекс Карту для сайта с меткой и радиусом – image 18

После получения ключа в документации можно взять сниппет кода и для тестирования вставить его. Данный код я выложил ниже. В нём указаны координаты Москвы. В него вам необходимо добавить API-ключ в ссылку // Формирование div-контейнер карты.

Если тестовая карта загрузилась на сайт, значит можно искать свои координаты и добавлять их в код.

Как создать Яндекс Карту для сайта с меткой и радиусом – image 19

Как узнать ваши координаты

Заходим в Яндекс и пишем в поиск необходимый адрес

Как создать Яндекс Карту для сайта с меткой и радиусом – image 20

Код с нашими тестовыми данными получается следующий

Как создать Яндекс Карту для сайта с меткой и радиусом – image 21

Проверяем карту на сайте. Координаты работают.

Как создать Яндекс Карту для сайта с меткой и радиусом – image 22

Так как мы переделываем сайт, нам нужна практически точная копия оригинала. Почему нельзя просто скопировать с предыдущего сайта? Потому что связи с прошлыми разработчиками нет, а нам нужно внести корректировки от клиента.

Как создать Яндекс Карту для сайта с меткой и радиусом – image 23

Из технического задания радиус оказания услуг применить необходимо следующий:

Как создать Яндекс Карту для сайта с меткой и радиусом – image 24

Добавляем тип геометрии, ещё раз координаты и радиус от нашей точки:

Как создать Яндекс Карту для сайта с меткой и радиусом – image 25

Вот что получилось на сайте с картой после обновления кода:

Как создать Яндекс Карту для сайта с меткой и радиусом – image 26

Зелёный цвет нас не устраивает. Такое ощущение, как будто я смотрю Яндекс Погоду и сейчас в этом месте идёт дождь. Сделаем как и на оригинале – зелёный.

  • цвет заливки с прозрачностью (55 в цвете),
  • цвет контура,
  • толщину контура,
  • прозрачность.

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

Этот код является продолжением вывода нашего объекта:

myMap.geoObjects
.add(myCircle)
.add(new ymaps.Placemark . . .

Вот собственно и всё. Карта готова.

Иконка с описанием:

Как создать Яндекс Карту для сайта с меткой и радиусом – image 27

Баллун – текст внутри открывается при нажатии:

У меня красиво нарисовать круг там не получилось, поэтому и принял решение сделать всё через API.

Как создать Яндекс Карту для сайта с меткой и радиусом – image 29

А ещё один из плюсов, что всю эту карту удобно редактировать. Надо сделать радиус круга побольше? Пожалуйста! 48км от точки:

радиус круга побольше

Вопрос с Яндекс Кью:
Как замерить радиус в популярных сервисах карт, вроде Яндекса, Гугла, 2ГИС и т.д.?

Добрый день! Рекомендую попробовать использовать Яндекс.Аудитории с любого аккаунта.

Инструкция:

1) нажимаете сверху справа кнопку “Создать сегмент”;
2) выбираете “Геолокация”‘
3) выбираете левый квадрат “Окружности”‘
4) ищите свой адрес и указываете радиус охвата местности.’

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

Если вам это не подходит, напишите, скажу другой способ. ?

Читайте также: