Я использовал mapbox, чтобы создать простой план этажа здания, и я хочу показать некоторую информацию о комнате, когда карта увеличена. Как я могу это сделать?
Вам нужно будет использовать FillLayer, чтобы показать многоугольники (например, форму комнат). SymbolLayer для значков и текста (например, номера комнат). LineLayer s может показывать план комнат.
FillLayer
SymbolLayer
LineLayer
Вы можете добавлять источники / слои непосредственно на карту:
Также имеется Плагин аннотации
Существует два основных способа отображения данных при определенном уровне масштабирования.
Вы можете установить минимальный и максимальный уровни масштабирования для определенного слоя:
Вы можете использовать стили во время выполнения для настройки непрозрачности определенных слоев в зависимости от масштаба. Это приведет к потере данных на карте и за ее пределами при изменении уровня масштабирования.
https://github.com/mapbox/mapbox-android-demo/blob/master/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/query/RedoSearchInAreaActivity.java#L81-L84
https://github.com/mapbox/mapbox-android-demo/blob/master/MapboxAndroidDemo/src/main/java/com/mapbox/mapboxandroiddemo/examples/labs/IndoorMapActivity.java#L198-L201
Две ссылки выше показывают fillOpacity(). Для SymbolLayer существуют эквивалентные iconOpacity() и textOpacity() методы. LineLayer использование потребует lineOpacity().
fillOpacity()
iconOpacity()
textOpacity()
lineOpacity()