Я следил за сообщением в блоге от https://blog.mapbox.com/a-guide-to-the-android-symbollayer-api-5daac7b66f2c, чтобы добавить различные символы на карту.
Наличие разных значков на основе значения функции уже работает, но изменение размера значка на основе свойства «выбрано» оказывается не таким простым.
Поскольку кажется, что они изменили/удалили некоторые методы/классы с более новым SDK, я не могу установить размер значка на основе значения свойства функции.
mapboxMap.addLayer(myLayer)
.withProperties(
PropertyFactory.iconSize(
Function.property(
"selected",
Stops.categorical(
Stop.stop(true, PropertyFactory.iconSize(1.5f)),
Stop.stop(false, PropertyFactory.iconSize(1.0f))
)
)
)
)
);
Вот как они это сделали в примере, но Stops.categorical() больше не существует.
Я использую com.mapbox.mapboxsdk:mapbox-android-sdk:7.3.0
Для тех, кто ищет ответ, вот как я его решил
iconSize(
match(get("selected"), // property selected is a number
literal(1), // default value
stop(0, 0.75), // if not selected set icon size to 0.75 of original value
stop(1, 1) // if selected set it to original size
)
)