2гис

v0.8

Release Date: 17.03.2021

  • Ломающее изменение: мы изменили формат работы с подписками на изменения свойств. Раньше такие поля как имели тип . Для того чтобы получать уведомления об изменениях данных в нужно вызвать , а получить текущее значение можно через . Такой API вызывал вопросы, поэтому в новой версии (и другие свойства ) это просто getter/setter. А для подписки на изменение нужно использовать
  • добавили кэш для тайлов на карте. По умолчанию кэш включен, и максимальный размер хранилища 300Мб. Его можно отключить или изменить его размер в настройках HttpOptions
  • на карте
  • для объектов Polygon/Polyline добавилась возможность изменить текущую геометрию
  • добавили источник для растровых тайлов(см. createRasterTileDataSource)
  • поддержали атрибут theme для стилей карты выгруженных из редактора
  • методы для создания иконки маркера imageFromAsset/imageFromCanvas/imageFromResource переместили в пакет
  • сконвертировали методы в property в случаях когда такая форма более логична(напр. )

Особенности приложения 2GIS

  • Доступно более 300 городов стран СНГ. Каждый из них содержит подробную и актуальную информацию о достопримечательностях, магазинах и развлекательных местах. Однако необходимо устанавливать карту определённого города, так как нет возможности свободного перемещения. Поэтому 2ГИС в большей степени справочник, нежели обычная карта.
  • Карты зданий многоуровневые. Благодаря этому пользователю доступен выбор этажей в торговых центрах. При наведении на здание схема изменяется, демонстрируя все открытые магазины и рестораны в торговом центре. Также появляется возможность выбрать этаж или определенный типа заведения.
  • Программа работает на нескольких платформах. 2ГИС доступен к скачиванию на операционные системы Android и iOS бесплатно.
  • Возможность отслеживать пробки в городе. Эта опция упрощает выстраивание маршрута, так как приложение учитывает ситуацию на дорогах и изменяет путь следование. Благодаря этому водитель не попадёт в форс-мажорную ситуацию.
  • Поиск внутри сервиса среди различных категорий. Утилита имеет несколько категорий: фастфуды, рестораны, АЗС, аптеки и автосервисы и пр. Благодаря поиску можно найти ближайшее заведение.

Карты необходимо скачивать. Не всегда нужный город присутствует в списке доступных. Размер утилиты зависит от величины города.

На нашем сайте можно скачать 2ГИС для операционной системы Android. Для этого скачайте на смартфон APK файл, затем установите его с помощью встроенных в телефон средств.

v2.0.0-beta.1

Release Date: 21.09.2021

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

Ломающее изменение. теперь не создает , его нужно задавать снаружи через свойство .
UI навигатора локализован на русский и английский.
В UI навигатора добавлены контролы управления картой.
Добавлена нотификация в UI о состоянии навигатора — перепоиск, отсутствие сигнала GPS.
Новый дизайн контролов навигации в режиме Free Roam.
Переключение между временем прибытия и временем до прибытия в .

при отсутствии с ним взаимодействия переходит в свернутое состояние.. Миграция с v1.x

Миграция с v1.x

  • Вместо , который использовался для задания поворота камеры, широты, долготы, теперь отдельные типы — , , .
  • Изменен API для работы с пробками: переименован в , в , удален — создается через конструктор.
  • Поменялись базовые стили. В редакторе стилей на вкладке у объекта должен использоваться подслой (если есть ещё 2 — это нормально, они оставлены для совместимости с первой версией).

v0.6.0

Release Date: 15.02.2021

  • разделили SDK на 2 артефакта. sdk-map — версия для тех кому нужна только карта и справочник. sdk-full — более полная, содержит в себе навигатор. В build.gradle необходимо указать нужную версию(напр. )
  • карта и контролы теперь доступны и в темной теме
  • . По умолчанию SDK пишет только Warning и более критичные сообщения
  • методы для вычисления позиции камеры и Zoom Level по заданной геометрии
  • добавили возможность задать
  • для динамических объектов на карте, добавили возможность
  • поддержали создание маркера с текстом, без иконки
  • Ломающее изменение: иконку маркера необходимо указывать через . Формирование стиля маркера с иконкой может занимать значительное время т.к. для этого может понадобится растеризация/сжатие изображения. Мы настоятельно рекомендуем делать это в фоновом потоке и переиспользовать MarkerStyle для однотипных маркеров.

The best framework we ever made

В конце концов, когда всё собралось на реальное устройство, стало понятно, что фиче «2ГИС под CarPlay» точно быть. Настало время делать по красоте.

Проблемы с вьюпортом

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

А так:

Я рассчитывал, что получу какой-нибудь layoutGuide с текущей видимой областью. Чтобы он учитывал и navigationBar, и вьюшку с маршрутом, и контролы на карте. На деле я не получил ничего. До сих пор непонятно, как настраивать вьюпорт, поэтому у нас в коде есть хардкод типа:

Построение проезда не только между двумя точками

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

Избранное и Дом/Работа через CPListTemplate.

И клавиатурный поиск через CPSearchTemplate:

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

Тестирование и баги

Тестированием занимался artemenko-a-a. Один из первых багов, который он нашёл, мы до сих пор не можем починить.

Дело в том, что при отсоединении телефона от CarPlay-магнитолы спорадически нас прибивает Watchdog — без объяснении причины. Даже syslogs открывали, ничего не понятно. Так что если есть идея, как починить или понять причину, то велкам в комменты.

Следующий баг был в этом же месте, но с особенным поведением. Я писал выше, что метод didDisconnect у CPApplicationDelegate вызывается в момент отсоединения телефона от CarPlay. И в этом методе мы возвращаем карту с экрана магнитолы обратно в основное приложение. Представьте себе, сколько бы мы словили проблем, если бы этот метод не вызывался хотя бы раз из пяти.

Стало понятно, что это проблема iOS, а не конкретно нашего приложения, так как вся система считала, что она подключена к CarPlay.

Я даже зарепортил это как radar (как и все остальные баги). Меня попросили скинуть логи с таким-то профилем, но я не мог ответить поддержке в течение некоторого времени, поэтому они закрыли radar.

Раз Apple делать ничего не планировала, проблему пришлось обходить самостоятельно, так как воспроизводилась она достаточно часто.

И тут я вспомнил, что львиная доля подключений к CarPlay идёт через Lightning. Это значит, что телефон в момент подключения заряжается, а в момент отключения заряжаться перестаёт. А если так, то можно подписаться на состояние батареи и точно узнать, когда телефон перестал заряжаться и отключился от CarPlay.

Схема хиленькая, но выбора у нас не было. Мы пошли этим путём, и всё сработало!

К счастью, этот костыль из кода давно уже удалён: разработчики Apple починили всё в одном из релизов iOS.

It just works!

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

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

Provision Profiles

Из-за добавления нового capability-ключа необходимо перегенерировать профили. В обычной разработке мы не думаем об этом, ведь Xcode сделает всё сам. Но не в случае с приватным ключом.

Это так же сломало нам CI, так как для локальной дистрибуции версий приложения мы используем enterprise-аккаунт, в который мы не запрашивали разрешение на разработку приложения под CarPlay. Но это уже совсем другая история

Debugging

Подключиться к CarPlay можно через Bluetooth или Lightning. Практика показывает, что второй способ гораздо популярнее. Наша магнитола в Bluetooth не умела, поэтому во время разработки пришлось пользоваться Wi-Fi дебагом. Если вы пробовали его на проектах сложнее, чем hello world, то вы знаете, какой это ад.

И тут мне стало очень интересно, почему Apple не сделала никакой DevKit (чтобы Apple-way, it just works и вот это всё). Без него собирать тестовый стенд было не очень удобно. До сих пор раз в пару недель что-нибудь отваливается — приходится по фоткам вспоминать, что куда втыкать. Хорошо, что админ при сборке этого стенда рассказал, что и зачем.

Описание 2ГИС — справочник, карта и навигатор

2ГИС — это подробный справочник с картами городов и навигатором. Приложение бесплатное, работает без интернета: достаточно один раз загрузить город. С 2ГИС вы будете как дома даже в незнакомом месте: — быстро найдёте адрес, компанию, телефон, время работы, товар или услугу;— узнаете, как проехать на машине, автобусе, метро или пройти пешком;— найдёте вход в компанию или подъезд. Всё о зданиях. 2ГИС показывает адреса, подъезды, почтовые индексы и организации, которые обслуживают дом: поликлиники, почты, управляющие компании.Подробный справочник. 2ГИС знает телефоны, время работы, соцсети, сайты и входы в организации. Люди добавляют фотографии заведений и пишут отзывы.Точная карта. В 2ГИС отмечены районы, здания, улицы, остановки, станции метро, спортивные площадки, заборы, шлагбаумы и другие объекты.Встроенный навигатор. Учитывает пробки, дорожные знаки, камеры ГИБДД, лежачих полицейских, платные и грунтовые дороги. Строит маршруты между городами.Дорожные события. Пользователи добавляют на карту сообщения о ДТП, перекрытых улицах и камерах ГИБДД. Городской транспорт. 2ГИС знает расписание и маршруты автобусов, троллейбусов, маршруток и трамваев. В 30 городах показывает движение транспорта в реальном времени прямо на карте. Пешие маршруты. Приложение прокладывает путь по тротуарам, дворам, тропинкам, подземным переходам — везде, где можно пройти пешком. Поиск пути для пешеходов работает в 91 городе.Путеводители. В 2ГИС есть подробные гиды по 62 городам России, СНГ, Кипра и ОАЭ. Узнавайте о главных достопримечательностях, лучших кафе и барах.Товары. 2ГИС находит строительные товары и шины из офлайн-магазинов. Помогает сравнить цены на один товар у разных продавцов.Города, которые уже есть в 2ГИС: Абакан, Абу-Даби, Актау, Актобе, Алматы, Альметьевск, Армавир, Архангельск, Астрахань, Атырау, Баку, Барнаул, Белгород, Бийск, Бишкек, Благовещенск, Братск, Брянск, Великий Новгород, Владивосток, Владикавказ, Владимир, Волгоград, Вологда, Воронеж, Грозный, Днепр, Дубай, Екатеринбург, Златоуст, Иваново, Ижевск, Иркутск, Йошкар-Ола, Кавказские Минеральные Воды, Казань, Калининград, Калуга, Каменск-Уральский, Караганда, Кемерово, Киев, Киров, Кокшетау, Комсомольск-на-Амуре, Костанай, Кострома, Краснодар, Красноярск, Курган, Курск, Кызыл, Ленинск-Кузнецкий, Липецк, Магнитогорск, Майкоп, Махачкала, Миасс, Москва, Мурманск, Набережные Челны, Находка, Нижневартовск, Нижний Новгород, Нижний Тагил, Новокузнецк, Новороссийск, Новосибирск, Новый Уренгой, Норильск, Ноябрьск, Нур-Султан, Одесса, Омск, Орёл, Оренбург, Ош, Павлодар, Пенза, Пермь, Петрозаводск, Петропавловск, Петропавловск-Камчатский, Псков, Республика Алтай, Ростов-на-Дону, Рязань, Самара, Санкт-Петербург, Саранск, Саратов, Смоленск, Сочи, Ставрополь, Старый Оскол, Стерлитамак, Сургут, Сыктывкар, Таганрог, Тамбов, Ташкент, Тверь, Тобольск, Тольятти, Томск, Тула, Тюмень, Улан-Удэ, Ульяновск, Уральск, Уссурийск, Усть-Каменогорск, Уфа, Ухта, Хабаровск, Ханты-Мансийск, Харьков, Чебоксары, Челябинск, Чита, Шерегеш, Шымкент, Южно-Сахалинск, Якутск, Ярославль и города Кипра.Facebook — https://facebook.com/2GISRussiaВконтакте — https://vk.com/2gisТвиттер — https://twitter.com/2gisХабр — https://habr.com/ru/company/2gisТелеграм — https://t.me/twogisИнстаграм — https://instagram.com/2gisТехподдержка: dev@2gis.com

Первая палка в колёса

Работа приложения в background’е нас разочаровала. На это было две причины:

  1. Мы не работаем в background’е. Когда-то оставили это ограничение по техническим причинам и ради энергосбережения.
  2. Наша карта написана на OpenGL (да, deprecated, да, не Metal, мы всё это знаем), а OpenGL в background state’е не работает. В лучшем случае вы получите чёрную вьюху, а в худшем — краш.

С работой в background’е ещё можно было справиться, но с картой определённо нужно было что-то решать. Тогда-то и пришла идея сделать её через стандартную MKMapView. Пока вы не начали закидывать нас камнями за идею использовать стандартные карты Apple, объясню: мы собирались использовать MKMapView, но не карты Apple.

Дело в том, что MKMapView умеет в загрузку сторонних тайлов. Тайлы — это специальные прямоугольные контейнеры для текстур. У нас как раз оказался сервачок, который умеет отдавать тайлы. На GitHub есть код с реализацией.

v1.1.0

Release Date: 28.07.2021

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

  • Обновлен логотип 2ГИС + СБЕР на карте.

  • Оптимизация создания/удаления .

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

  • Теперь события в не обрабатываются, если карта не интерактивна.

  • Обновлены общие стили:

    1. В редактор перенесены:

      A. Стрелки манёвров (Линия маршрута на авто => 4 слоя ).

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

      C. Маркеры поисковой выдачи (слои , , в каталоге ).

      D. Объекты на маршруте (слои в каталогах и ).

      E. Пешеходные части маршрутов (слои в каталогах и ).

      F. Маркер геопозиции для пешеходного режима (слои , , в каталоге ).

      Теперь эти объекты настраиваются из редактора и не отображаются безусловно поверх всего.
      Слои нужно скопировать в свои стили и расположить в аналогичном порядке, чтобы все объекты отображались с новой версией SDK корректно.
      Для копирования слоя можно выделить нужные слои, нажать и открыть в том же окне другой стиль.

    2. Удалён слой . Его также нужно удалить в собственных стилях.

    3. Изменены слои для отображения подъездов (слои и ). Теперь данные задаются не через JSON, а выбраны правильные слои во вкладке .
      Также в ночной теме у подъездов под домами убран шрифт, чтобы они отображались без подписей. Нужно внести аналогичные изменения в собственных стилях.

    4. В ночную тему в каталог добавлены слои и , а в каталог — слой .

    5. В дневную тему в каталог добавлены слои , , , .

    6. Изменены слои в каталоге , требуется их обновить в собственных стилях.

Ответ от Apple

Нам пришёл ответ от Apple, в котором, кроме разрешения на разработку, мы получили ещё и документацию «для избранных», код sample-приложения CountryRoads (его показывали на лекции WWDC) и, самое важное, приватный capability-ключ. Этот ключ прописывают в entitlements-файле со значением YES, чтобы система поняла, что вы можете обработать события от CarPlay при запуске вашего приложения

Не дождавшись спринта с выделенными под разработку сториками, я полез качать Xcode Beta. Первая попытка собрать 2ГИС была провальной. Зато проект sample-приложения CoutryRoads удалось собрать под симулятор.

Перед каждым открытием окна симулятора CarPlay, последний должен был кастомизироваться через такое вот окно:

Для этого нужно было прописать в терминале строчку:

По какой-то причине это не сработало — пришлось запускать почти на самом маленьком симуляторе с разрешением 800×480 поинтов и скейлом ×2. В данный момент эта настройка работает и отлично помогает.

Создав свой sample-проект и вооружившись документацией, я начал разбираться, что к чему.
Первое, что я понял: навигационные приложения для CarPlay состоят из слоёв base view и templates.

Base view — это ваша карта. На этом слое должна быть только карта, никаких других вьюх и контролов.

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

v2.0.0-alpha.3

Release Date: 23.07.2021

  • Исправлена проблема с ведением по длинному маршруту: обновление маркера геопозиции и всей карты происходило рывками. Теперь обновление карты происходит плавно.

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

  • Обновлен логотип 2ГИС + СБЕР на карте.

  • Оптимизация создания/удаления .

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

  • Теперь события в не обрабатываются, если карта не интерактивна.

  • Обновлены общие стили:

    1. В редактор перенесены:

      A. Стрелки манёвров (Линия маршрута на авто => 4 слоя ).

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

      C. Маркеры поисковой выдачи (слои , , в каталоге ).

      D. Объекты на маршруте (слои в каталогах и ).

      E. Пешеходные части маршрутов (слои в каталогах и ).

      F. Маркер геопозиции для пешеходного режима (слои , , в каталоге ).

      Теперь эти объекты настраиваются из редактора и не отображаются безусловно поверх всего.
      Слои нужно скопировать в свои стили и расположить в аналогичном порядке, чтобы все объекты отображались с новой версией SDK корректно.
      Для копирования слоя можно выделить нужные слои, нажать и открыть в том же окне другой стиль.

    2. Удалён слой . Его также нужно удалить в собственных стилях.

    3. Изменены слои для отображения подъездов (слои и ). Теперь данные задаются не через JSON, а выбраны правильные слои во вкладке .
      Также в ночной теме у подъездов под домами убран шрифт, чтобы они отображались без подписей. Нужно внести аналогичные изменения в собственных стилях.

    4. В ночную тему в каталог добавлены слои и , а в каталог — слой .

    5. В дневную тему в каталог добавлены слои , , , .

    6. Изменены слои в каталоге , требуется их обновить в собственных стилях.

Разработка беты

Перейдём уже к написанию кода. Первое, что необходимо сделать, — реализовать парочку обязательных методов CPApplicationDelegate в файле ApplicationDelegate.

Давайте рассмотрим сигнатуру:

С UIApplication всё понятно.
CPWindow — наследник UIWindow, окно для внешнего дисплея головного устройства магнитолы.
CPInterfaceController — что-то типа аналога UINavigationController’а, только из CarPlay.framework.

Теперь перейдём непосредственно к реализации метода.

В didConnect необходимо написать код, похожий на тот, который мы привыкли видеть в didFinishLaunching. CarMapViewController — это base view (контроллер на самом деле, но ладно), как по документации.

Вот такую картинку в итоге я получил:

Где-то в это время до меня дошло, что в новом Xcode new build system включена по умолчанию и, скорее всего, из-за этого 2ГИС не собирается.

Я открыл Xcode, поставил legacy (а точнее stable, давайте называть вещи своими именами) build system, и моя теория подтвердилась: 2ГИС собрался.

Выставив тот самый capability-ключ, я запустил 2ГИС под CarPlay и не увидел логов о переходе приложения в режим background. Стало ещё непонятнее, ведь инженеры Apple со сцены сказали про background-режим, но, с другой стороны, нам обещали contentView у UIAlertView, а в итоге UIAlertView стал deprecated.

Решив, что так и должно быть, я не стал заморачиваться с MKMapView. Она лишила бы нас оффлайна и заставила заново писать отрисовку маршрутов.

Система поиска

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

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

При расчете также берется во внимание ситуация на дороге – цвет светофора или его поломку, ремонтные работы по пути и движение пробок

v2.0.0-beta.2

Release Date: 28.09.2021

  • Исправлен баг с низкой производительностью карты при большом масштабе.
  • Исправлена гонка в , что могло приводить к его неправильному отображению.
  • Добавлено отображение на карте и озвучка новых типов камер.
  • Добавлено свойство — размер области просмотра в пикселях.
  • Ломающие изменения в API навигатора:

    • свойство переименовано в ;
    • перемещен из в ;
    • Для получения информации о инструкциях навигатора служит , получить название маневра из которых можно с помощью функции
  • Исправлено слежение за геопозицией при использовании навигатора с несколькими картами одновременно.
  • Убран лишний переход в состояние при перепоиске маршрута.
  • Ломающее изменение. Вместо свойств , теперь свойство , позволяющее задать список сертификатов.

Контролы на карте

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

Начнём с зума и текущего местоположения, ведь эти контролы находятся на самой карте и это не обычные UIControl. Как я писал выше, на base view находится только карта.

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

CPMapTemplate — прозрачный темплейт для отображения некоторых контролов на карте и аналога navigationBar’а. Создаётся и выставляется он так:

Далее необходимо создать эти контролы и положить их на карту.

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

Дальше я полез смотреть, как мне заставить двигаться карту, и нашёл в документации вот такое:

Странно, подумал я, и полез смотреть, как это сделано в sample-приложении CountryRoads. Ответ — через вот такой интерфейс:

Не очень удобно, но по-другому никак, документация же не будет врать, верно?

Поскольку место для контролов на карте у нас закончилось, необходимо было сделать кнопку для перевода карты в режим «таскания» в этом аналоге navigationBar’а.

Но вот массивы leadingNavigationBarButtons и trailingNavigationBarButtons тоже оказались не без прикола: сколько элементов в них ни пихай, они возьмут только первые два. Тоже без ошибок в логе и ассертов.

А для активации и деактивации режима перетаскивания карты необходимо написать:

Преимущества приложения

Преимущества программы заключаются в:

  • Простом и понятном интерфейсе;
  • Детальной информации о каждом объекте;
  • Написании отзывов;
  • Быстром поиске адресов и маршрутов;
  • Построении коротких маршрутов;
  • Наличии голосового режима;
  • Загрузки офлайн карт.

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

Это современный гид по городу, который позволит найти путь до больницы, гостиницы или культурных объектов города, до кофейни, ресторана или кафе. Что еще есть в функционале 2ГИС?

  1. Дорожные происшествия.
  2. Маршруты общественного транспорта с расписанием.
  3. Пешие маршруты.
  4. Поиск товаров по магазинам с указанием цен и адресов.
  5. Поиск общественных мест питания с доставкой.
  6. Навигация для грузового транспорта.
  7. Встроенный GPS навигатор.

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

Более того, вы сможете узнать о движении общественного транспорта и всегда сориентироваться, в какую сторону стоит двигаться, чтобы найти нужный объект. В программе можно загрузить не только карту России, но и Кипра, Казахстана, Украины, ОАЭ и многие другие.

Разработчик: 2GIS
Версия: 5.48.0.379.14 от 15.09.2021
Система: Android 6.0 и выше
Язык: Русский, Английский и другие
Лицензия:
Загрузок: 11 916
Категория: Помощники
Размер: 92.7 Мб
Оцените:

Скачать 2ГИС

  • Скачать 2ГИС 5.48.0.379.14 для Android 6.0 и выше (92.7 Мб)
  • Веб версия 2ГИС

2ГИС обновил мобильную версию

Выпуск 10 марта мобильной версии 2ГИС для популярных платформ привлек значительное внимание пользователей. В частности, за первые две недели приложение 2ГИС для Android вошло в число лидеров среди лучших бесплатных программ на русском языке в категории «Путешествия» на Android Market

А в целом за месяц после выпуска мобильной версии было скачано около 90 тыс. дистрибутивов (оболочек программы) и около 110 тыс. баз городов 2ГИС для телефонов.

2ГИС внес ряд значительных изменений в бета-версию справочника для мобильных телефонов на базе Android, Symbian и Windows Mobile. Обновленная версия уже доступна для скачивания (http://beta.2gis.ru/mobile/).

«Существенная часть изменений реализована с учетом пожеланий многочисленных пользователей продукта, — отмечает директор департамента исследований и разработок компании «ДубльГИС» Дмитрий Сысоев. — Мы постарались сделать мобильную версию еще более удобной».

Мобильная версия 2ГИС теперь доступна и на iOS

Многие из нас уже давно успели оценить достоинства приложения ДубльГИС как на ПК, так и на смартфонах с ОС Windows Mobile, Symbian и Android. Огромная база организаций и адресов, детализированные карты с возможностью прокладки маршрутов, поддержка GPS, работа мобильных версий в оффлайн, бесплатность — все это позволяет назвать 2ГИС незаменимым помощником для каждого, чей родной город представлен в базе этой программы

Однако владельцы гаджетов на iOS долгое время были лишены этих преимуществ, довольствуясь приложением «Мой город», использующим API и базы 2ГИС, но обладающим двумя «фатальными недостатками» — работой только через онлайн (осторожно, трафик!) и ценой в $0.99. Компания ДубльГИС почти год работала над версией для iOS, и теперь долгожданное приложение наконец-то доступно для бесплатной загрузки в Apple App Store

Версия: 1.0

Русский интерфейс: да

Технические требования: Требуется iOS 4.0 и выше

Возможности 2ГИС

  • Интеграция с сервисом Google Earth;
  • Измерение расстояния до пункта назначения;
  • База данных регулярно обновляется разработчиками;
  • Прокладывает оптимальный маршрут для проезда к нужному месту;
  • Показывает контакты (адреса, телефоны) и режим (время) работы различных компаний и заведений;
  • Наличие навигатора для автомобилей, общественного транспорта и пеших прогулок;
  • Актуальная информация о пробках, лежачих полицейских и прочих дорожных ситуациях;
  • Детальные карты городов России, Украины, Казахстана, Италии, Кипра, Чехии, Чили и других стран.

Преимущества

  • Установка фильтров для поиска ращзличных организаций;
  • Работа без подключения к интернету, автоматическое обновление во время коннекта;
  • Объединяет возможности справочника и опцию прокладки маршрута между двумя точками;
  • Приятный интерфейс на русском языке с функцией установки дополнительных модулей;
  • Для экономии трафика можно скачать 2gis карты на карту памяти устройства;
  • Спутниковые снимки необходимых объектов на карте с номерами домов;
  • Около 15 миллионов скачиваний на Google Play Market;
  • Возможность добавлять интересные места в избранное;
  • Отправка данных по электронной почте или в социальные сети;
  • Огромный справочник организаций, торговых центров, государственных учреждений и так далее;
  • Новая версия приложения 2ГИС Карты поддерживает телефоны и планшеты на базе Android 4.4 и выше.

Недостатки

2ГИС выпустил мобильную бета-версию справочника для платформ: Android, Symbian и Windows Mobile

«Мы рады представить пользователям мобильную бету 2ГИС — это полноценный справочник для телефона, — говорит генеральный директор ООО «ДубльГИС» Александр Сысоев. — С запуском этого приложения мы открываем новую страницу в истории популярного во многих городах справочного продукта — теперь им можно пользоваться и тогда, когда рядом нет компьютера».

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

История двух реджектов

Первый реджект был связан с метадатой. В тексте реджекта говорилось, что у нас в описании (не release notes) не сказано о том, что мы поддерживаем CarPlay. Как вы можете догадаться, ни в review guideline’ах, ни у того же Google Maps такого не было. Мы не стали спорить (потому что это обычно дольше, чем править метадату), скопировали строчку из Release Notes в Description и стали ждали нового ревью.

Второй реджект случился из-за списка городов. У 2ГИСа есть очень крутая фича — полный офлайн-режим работы. Эта фича стрельнула нам в ногу.

При подключении приложения без установленного города к CarPlay, мы не показываем карту, потому что показывать нечего. За это нас и зареджектили. Решение было простым: алерт без кнопок, в котором написано, что нужно скачать город.

Полное описание

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

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

Стоит отметить, что утилита позволяет скачать карту в память смартфона или компьютера для работы в офлайн-режиме. Есть полезные функции вызова такси, покупки билетов в кинотеатр, заказа столика в ресторане и многое другое.2GIS на Android, наверное, самое удобное приложение для навигации в незнакомом городе, т.к. содержит необходимую информацию не только о крупных торговых центрах, но и тысячах мелких организаций и частных предприятий.  

v0.16.0

Release Date: 03.06.2021

  • Возможность задания порядка отображения объектов карты — , , и тд.
  • Возможность отключения анимации появления/исчезновения маркеров
  • Учет локалей при отображении карты и поиске, возможность задания локалей, отличных от системных —
  • Возможность определения геометрии оставшейся части маршрута —
  • Ломающее изменение: Вместо теперь , что позволяет задать стиль синхронно.
    Методы заменены на
  • Ломающее изменение: Удален устаревший класс , вместо него нужно использовать ,
  • Ломающее изменение: Изменена размерность — теперь они совпадают с (в дюйме 160 логических пикселей).
    Это приводит к изменению размеров объектов карты, нужно заново настроить стили, зато карта в приложении выглядит так же, как в редакторе
  • Скрыты классы предназначенные для внутреннего использования
  • Исправлено отображение карты при нулевом z-уровне

Пара слов о CarPlay

Сначала немного матчасти для понимания некоторых аспектов работы CarPlay и причин, по которым мы приняли те или иные решения.

CarPlay — это не ОС внутри другой ОС, как об этом пишут в очень многих статьях. Если грубо, то CarPlay — это протокол для работы с внешним дисплеем экрана головного устройства; звуком из динамиков автомобиля; тач-скринами, тач-панелями, шайбами и другими устройствами ввода.

То есть весь исполняемый код находится непосредственно в основном приложении (даже не в отдельном extension’е!) Это очень круто: чтобы получить новые фичи, не нужно обновлять магнитолу или даже машину, нужно просто обновить iOS.

На WWDC 2018 Keynote нам представили возможность создания навигационных приложений под CarPlay, что нас очень обрадовало. Сразу после презентации мы отправили запрос на разрешение разработки под CarPlay. В запросе необходимо было показать, что наше приложение умеет в навигацию.

Пока мы ждали ответа от Apple, вышла лекция, в которой на примере sample-приложения CountryRoads рассказывали о работе с CarPlay.framework. В лекции не рассказали о подводных камнях и тонкостях при работе с CarPlay, но упомянули, что после подключения к CarPlay-магнитоле приложение будет работать в режиме background.

v0.12

Release Date: 22.04.2021

  • возможность использования SVG изображений для маркеров —
  • исправлены падения при оптимизации кода с помощью ProGuard
  • исправлен учет видимости полилинии
  • добавили сбор анонимной статистики использования, по умолчанию включено (параметр в ), отключать рекомендуется только в случае явного выбора пользователем(например, отказ GDPR)
  • на изображении карты() отображается копирайт
  • возможность задать собственную траекторию перемещения камеры —
  • свойство перемещено из в
  • возможность задать поведение камеры при изменении —
  • при поиске() учитывается местоположение пользователя
  • свойство переименовано в
  • удалено свойство вместо него нужно использовать установку
  • Исправлены типы параметров , — , вместо
  • ускорено получение результата срабатывания и
  • удалены устаревшие методы и
Добавить комментарий

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

Adblock
detector