2ГИС Платформа
1.54K subscribers
121 photos
11 videos
1 file
108 links
Новости и обновления геотехнологий 2ГИС для инженеров, бизнеса и государственного сектора
加入频道
Вышли обновления MapGL 1.8.0, MapGL 1.8.1  и MapGL 1.9.0

1.8.0
Самое главное — добавили Этажи:
контрол для Этажей и опцию в карту floorControl
метод для управления этажами setFloorPlanLevel и события floorplanshowfloorplanhide , floorlevelchange

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

И ещё:
Поддержали глобальные переменные стилей в match-выражениях. Добавили в карту методы setStyleState и patchStyleState для управления глобальными переменными
Пофиксили баги ховера на маркерах

1.8.1 
Поправили баг в типах npm-пакета MapGL-loader
Добавили setMaxBounds, чтобы в рантайме менять максимальные границы, в рамках которых можно перемещать карту

1.9.0 
Поправили баг с рендерингом дорог
Добавили возможность передачи IterpolateExpression в width-параметры Polyline
Написали на Хабре, как делали пешеходный навигатор.

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

Зато теперь можно погулять с Дроздовым.
Сегодня на 2gis.ru сделали слой, который возвращает нас в 2004 год — ДубльГИС, зелёная карта, синие остановки, квадратные маркеры и четыре года до появления биткоина.

Самое клёвое, что такую или вообще какую захочется карту может сделать любой сервис. Для этого потребуется только наш API и редактор стилей.
This media is not supported in your browser
VIEW IN TELEGRAM
Выпустили Distance Matrix API 1.0.0

Обновление мажорное, изменений и улучшений очень много.

Что сделали:

1. Ускорили производительность алгоритма расчёта до 400 мс в общем случае (зависит от размерности).

2. Увеличили возможную размерность матриц. Сохранив скорость работы, повысили матрицу с 10×10 до 50×50. И готовы обрабатывать и матрицы бо́льшей размерности.

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

4. Добавили фильтры и режимы в алгоритм расчёта маршрутов:
для автомобильных — фильтры паромных переправ, грунтовых и платных дорог;
для пешеходных — фильтры грунтовых дорог, магистральных улиц и паромных переправ ;
режимы построения: с учётом текущих пробок, по статистике на указанное время, кратчайшие маршруты.

А чуть позже ещё расскажем о параметрах exclude, azimuth и новом типе маршрутизации taxi
This media is not supported in your browser
VIEW IN TELEGRAM
Параметр exclude

Добавили параметр, который описывает область которую нужно избегать точку, полилинию или полигон c буфером. Работает в режимах «автомобиль» и «пешеход». Рекомендуем, когда нужно построить маршрут, избегая определённые области. Например, незапланированные массовые мероприятия.

Возможны режимы soft и hard

Soft — мягкое избегание. Стараемся избежать, если маршрут и время в пути не меняются радикально. В некоторых случаях может пересекать геометрию. При степени избегания soft-оверхеда на скорость работы сервиса почти нет.

Hard — гарантированное избегание. В этом режиме возможно увеличение времени на построение решения, так может понадобится перебрать больше рёбер.

Кроме Distance Matrix exclude доступен в Routing & Directions и Directions Pairs
👍1
Параметр azimuth

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

Важно для кейсов, когда в городских условиях GPS неверно определяет стартовую точку.

Или сервисов такси, где важно уметь перераспределять заказы, когда между моментом выдачи заказа и его принятия могут измениться условия и позиция водителя.
😁1
Тип маршрутизации taxi

Ещё одна полезная опция для такси. Этот вид транспорта приравнивают к общественному транспорту и в большинстве городов таким машинам можно ездить по выделенным полосам.

Упаковали информацию о полосах общественного транспорта в граф, в том числе данные о временных перекрытиях для таких рёбер, и поддержали маршрутизацию в режиме такси с учётом этих полос.

Кроме Distance Matrix режим taxi доступен в  Routing & Directions и Directions Pairs
This media is not supported in your browser
VIEW IN TELEGRAM
В Isochrone API добавили reverse isoline

Обычный isoline — построение многоугольника из точек, которые можно достичь за указанное время, если выехать из центральной точки. Например, когда нужно понять, до каких целевых точек курьер доберётся на авто с учётом пробок за 15 минут.

У Reverse isoline — обратная задача, когда цель — определить из каких точек многоугольника можно добраться до центра за указанное время.
В WebGL JS API добавили стилизацию построенного маршрута.

Можно, например, сделать подложку или нарисовать ореол.
Выпустили версию 2.2.0 плагина кластеризации для WebGL-карты

В функции clusterStyle появился аргумент target, который предоставляет доступ к точкам кластера target.data[] и содержит поле для передачи пользовательских данных target.userData.

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

На этапе формирования стиля кластера ему можно передать пользовательские атрибуты, доступные в событиях — например, рассчитать область видимости для всех точек кластера, а затем по клику в кластер приблизить карту к этой области.
This media is not supported in your browser
VIEW IN TELEGRAM
Перевели m.2gis.ru на WebGL. Честный вектор в браузере смартфона — быстро и красиво.
This media is not supported in your browser
VIEW IN TELEGRAM
Сбер выпустил приложение «Зелёный марафон», в котором крутится наша WebGL-карта. И конечно же, обратите внимание на то, что ребята адаптировали цвета в редакторе стилей.
В разделы /reference документации по API Поиска и API Навигации добавили возможность скачать OpenAPI-схему.
Channel name was changed to «2GIS Kit»
Накопилось новостей, будем делиться

2GIS Kit
Теперь все наши инструменты для разработчиков — API, SDK и Редактор стилей — объединяются под названием 2GIS Kit.

Названия самих же API и SDK остаются прежними. Некоторое время API&SDK и 2GIS Kit будут существовать параллельно, но постепенно везде заменим на новое.
В MapGL JS API добавили создание пунктирных линий.

Настраиваемые параметры в классе Polyline: dashColordashLengthgapColor и gapLength задают цвет, длину и расстояние между штрихами.
В MapGL JS API теперь доступна стилизация кластера под маркеры, входящих в кластер. Например, можно собирать текст подписи из текста маркеров.

Настраивается функцией clusterStyle и её вторым аргументом ClusterTarget.
В MapGL JS API теперь можно задать отступы между элементами управления и краями карты

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

Настраивается функцией map.setControlsLayoutPadding
В апреле m.2gis.ru перешёл на наш MapGL API, заменив растровую карту на красивый, быстрый, отзывчивый вектор.

Но на предрелизных тестах команда сервиса наткнулись на багу — при неаккуратном зуме двумя пальцами карта могла перевернуться на 180°. Быстро поправить не получилось и даже пришлось заблокировать любое вращение и наклон.

Исправили багу на своей стороне, добавив настройку touchRotationThreshold, которая определяет мёртвую зону для вращения.