Как нарисовать ломаную линию под названиями улиц в MapBox Android

В настоящее время я рисую полилинию с помощью LineLayer и добавляю ее на карту с помощью style.addLayer(lineLayer). Я заметил, что ломаная линия нарисована поверх надписей улиц. Я хочу получить его под метками на карте.

Я обнаружил, что метод style.addLayerBelow(lineLayer, <belowLayerId>) решит эту проблему, но не смог найти правильный идентификатор для использования в качестве belowLayerId. Может ли кто-нибудь помочь мне в этом вопросе.


person user3011958    schedule 31.08.2020    source источник


Ответы (1)


Какой стиль вы используете? Вы можете просмотреть стиль в Mapbox Studio (https://studio.mapbox.com) и увидеть порядок слои стиля. Если вы используете Mapbox Streets Style.MAPBOX_STREETS, идентификатор метки улицы будет road-label:

введите здесь описание изображения

Или вы можете распечатать идентификатор каждого слоя в логарифме Android Studio, чтобы увидеть порядок слоев. Вторая область блока кода в https://docs.mapbox.com/android/maps/overview/styling-map/#retrieving-a-map-layer содержит информацию о распечатке всех слоев в файле Style.

person langsmith    schedule 31.08.2020
comment
Имя ярлыка road-label может решить мою проблему. Большое спасибо за объяснение. Раньше я пробовал печатать только слои символов, но мог найти только слои типа road-label-street, road-label-secondary-tertiary, road-label-primary, road-label-motorway-trunk, road-shields-black, road-shields-white, rail-label, но ни один из них не работал у меня. labelId road-label решил мою проблему. - person user3011958; 01.09.2020
comment
Круто, рад, что у тебя получилось. Удачного строительства с Mapbox! Пожалуйста, пометьте мой ответ как правильный :) - person langsmith; 01.09.2020