1 votos

Problema de eliminación de la función featurecollection de OpenLayers: ¿cómo forzar la actualización del mapa?

Tengo una colección de Features cargada como JSON desde PostGIS, se trata de representar un conjunto de áreas vectoriales sobre mapa (unidades responsabilidad alineación). Necesito crear nuevas, modificar y eliminar zonas existentes ya cargadas.

He comenzado con la visualización de las zonas existentes y tengo la eliminación de características, pero desde el primer paso es seleccionar con el ratón haga clic en y pulse "borrar" icono, una característica permanecen en su lugar hasta que haga clic en algún lugar fuera del área seleccionada. Así que básicamente diciendo que se elimina de la colección de características con éxito, pero no hay eventos de actualización del mapa se produce hasta que el clic manual fuera sucede.

Lo he intentado de muchas maneras pero sin éxito. ¿Alguien tuvo éxito en la resolución de un problema similar?

Algún fragmento de código :

var selectedFeatureID;

function addSelect() {
    map.removeInteraction(draw);
    singleClick = new ol.interaction.Select();
    map.addInteraction(singleClick);

    singleClick.getFeatures().on('add', function (event) {
       var properties = event.element.getProperties();
       selectedFeatureID = properties.id;
    });
}

function removeSelectedFeature() {
    var features = vectorSource.getFeatures();
    $(features).each(function (i) {
      if (features[i].getProperties().id == selectedFeatureID) {
        vectorSource.removeFeature(features[i]);

      }
    });
}

1voto

GDR Puntos 248

La redistribución del mapa debería ser automática, creo que se debe a que la característica sigue seleccionada.

Intente borrar la colección de características seleccionadas antes de eliminar la característica del vectorSource así:

if (features[i].getProperties().id == selectedFeatureID) {
  singleClick.getFeatures().clear();
  vectorSource.removeFeature(features[i]);
}

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X