как разрешить только один маркер

#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/