#javascript #here-api
Вопрос:
прослушиватель событий моей карты добавляет маркер при нажатии
let coordsData = new H.geo.Point(coord.lat, coord.lng);
let standardMarker = new H.map.Marker(coordsData);
map.addObject(standardMarker);
как это сделать, если пользователь снова нажмет, чтобы заменить этот маркер новым?
map.removeObjects() и map.removeObject() дают и ошибку
Нравится map.removeObject(standardMarker) map.addObject(standardMarker);
Ответ №1:
Чтобы удалить объект с карты, требуется вызов метода объекта карты removeObjects.
Пожалуйста, найдите пример фрагмента кода, который создает серию маркеров H. map.для каждого найденного местоположения и добавляет его на карту. Однако добавление метода removeObjects() удаляет объект-маркер при каждом поиске.
function addLocationsToMap(locations) {
map.removeObjects(map.getObjects()) //
// debugger
var group = new H.map.Group(),
position,
i;
// Add a marker for each location found
for (i = 0; i < locations.length; i = 1) {
let location = locations[i];
marker = new H.map.Marker(location.position);
marker.label = location.address.label;
group.addObject(marker);
}
group.addEventListener('tap', function(evt) {
map.setCenter(evt.target.getGeometry());
openBubble(
evt.target.getGeometry(), evt.target.label);
}, false);
// Add the locations group to the map
map.addObject(group);
map.setCenter(group.getBoundingBox().getCenter());
}
Вы можете обратиться к этому полному примеру:
https://jsfiddle.net/raj0665/1ck3v9oh/18/