Насыщенность / значение маркера

Я знаю, как сделать иконку маркера в Android / Java?

BitmapDescriptor icon = BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_BLUE);

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

Как мне изменить значение значка для этого?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
333
2

Ответы 2

Вы не можете установить черный цвет в качестве маркера с помощью BitmapDescriptorFactory. Это потому, что мы не можем установить яркость маркера в BitmapDescriptorFactory.

Но вы можете изменить цвета маркера, установив значение от 0,0f до 359.0f
. в BitmapDescriptorFactory.

Например, если вам нужен красный цвет, вы можете использовать

BitmapDescriptor icon = BitmapDescriptorFactory.defaultMarker(0.0f);

Таким же образом вы можете установить другой цвет

RED = 0.0F;
   ORANGE = 30.0F;
   YELLOW = 60.0F;
   GREEN = 120.0F;
   CYAN = 180.0F;
   AZURE = 210.0F;
   BLUE = 240.0F;
   VIOLET = 270.0F;
   MAGENTA = 300.0F;
   ROSE = 330.0F;

Обратите внимание на это. эти HUE зависят от того, какие сервисы Google Play установлены на вашем устройстве. Итак, я предлагаю использовать собственный значок для маркеров.

Я знаю, как изменить оттенок. Я прошу изменить значение. Существуют ли функции изображения, которые помещают фильтр в BitmapDescriptor или что-то в этом роде?

Sander 22.03.2018 06:15

Для этого вы можете использовать другой BitmapDescriptor для маркера. Т.е. если вы хотите изменить цвет маркера, вы можете использовать marker.setIcon (BitmapDescriptorFactory.defaultMarker (50.0f);)

Vinayak B 22.03.2018 06:35

Это не изменило бы значение (темнота), только оттенок.

Sander 22.03.2018 07:56

в этом случае вы должны использовать собственный маркер. Мы не можем установить яркость в BitmapDescriptorFactory.

Vinayak B 22.03.2018 09:32

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

Marker melbourne = mMap.addMarker(new MarkerOptions().position(your_position)
    .icon(BitmapDescriptorFactory
        .defaultMarker(your_color)));

Другие вопросы по теме