Как поменять значок маркера при нажатии на него здесь карта

После загрузки Heremap я установил маркеры с пользовательским изображением. Затем, после нажатия на маркер, я получаю всплывающее окно. Я хочу изменить значок маркера при нажатии на него. Как я могу изменить значок маркера при нажатии на него?

Код для отображения пузырька после нажатия на маркер, как указано ниже.

    map.addObject(group);

  // add 'tap' event listener, that opens info bubble, to the group
  group.addEventListener('tap', function (evt) {
    // event target is the marker itself, group is a parent event target
    // for all objects that it contains

    var bubble =  new H.ui.InfoBubble(evt.target.getPosition(), {
      // read custom data
      content: evt.target.getData()
    });


    // show info bubble
    ui.addBubble(bubble);
  }, false);

1 ответ

В моем приложении я изменяю исходный цвет маркера при нажатии. Вы пытались использовать markerTemplate, то есть переменную, где вы храните SVG для вашего маркера в виде строки?

 var markerTemplate = '<svg xmlns="http://www.w3.org/2000/svg" width="28px" height="36px">... fill="${COLOR}"/></svg>'

Затем вы можете использовать, например, fill="${COLOR}" в этой строке и в вашем EventListner замените этот заполнитель новым цветом markerTemplate.replace('${COLOR}', 'rgba(231, 0, 0, 0.7)');

Надеюсь это поможет

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