Más

OpenLayers 3 modifica el evento final


Quiero guardar los datos de geometría después de modificarlos, por lo que necesito un evento que se active después de que termine de modificar la función. Utilizo lo siguiente de esta publicación: el oyente modificar la interacción

var características_seleccionadas = select.getFeatures (); // cuando se selecciona una característica ... selected_features.on ('agregar', función (evento) {// obtener la característica var feature = event.element; feature.on ("change", function (event) {logStatus (feature. getId () + "ha cambiado!  n");});});

Pero este oyente dispara demasiadas veces en una sola modificación, y si estoy usando 'una vez' en lugar de 'on', dispara solo el primer pequeño cambio y no más, entonces no está guardando el cambio real. Necesito algo como "changeend" o "modifyend" que se activará cuando termine de modificar la función, ¿qué puedo usar?


Si necesita un evento de modificación, ¿por qué no lo usa dentro de la interacción de modificación? (Supongo que usa una interacción de modificación) marque esto

modificar.on ('modifyend', función (e) {console.log ("la identificación de la función es", e.features.getArray () [0] .getId ());});

Este evento está disponible en las últimas versiones de ol3. En mi fragmento de código, supongo que solo modifica una fetaure a la vez (getArray () [0]). Si usa más de una función para modificar a la vez, obtenga la matriz de funciones y agregue un bucle para una mayor manipulación. Al igual que:

modificar.on ('modificar', función (e) {características var = e.features.getArray (); for (var i = 0; i


Ver el vídeo: Openlayers 6 Tutorial #7 - Vector Layers (Septiembre 2021).