Как поменять значок маркера при нажатии на него здесь карта
После загрузки 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)');
Надеюсь это поможет