3 votos

¿Está atento a los cambios de escala/zoom en la API de ArcGIS para JavaScript 4?

Estoy tratando de añadir un receptor de eventos para cuando la escala del mapa cambia, es decir, la escala o el nivel de zoom cambia con el fin de activar o desactivar el texto de la etiqueta de la capa de características. Cuando el usuario se acerca a una escala mayor quiero que las etiquetas sean visibles y cuando la escala se reduce las etiquetas deben desaparecer. Después de definir el MapView he probado lo siguiente

 view.on("zoom", function(){alert();});

4voto

user21012 Puntos 21

La práctica de la versión 3.x de la API de ArcGIS para JavaScript de utilizar escuchas de eventos ha sido sustituida en la 4.x por un nuevo paradigma: observable propiedades.

de la documentación :

Antes de la versión 4.0, los cambios en las propiedades se gestionaban con eventos. En la 4.0, vigilar los cambios de propiedades es mucho más fácil. Esto se maneja a través del método .watch(property, callback). El callback es llamado cada vez que la propiedad cambia y permite trabajar con el nuevo valor de la propiedad, el valor anterior y el nombre junto con el objeto vigilado.

este es el aspecto de una devolución de llamada genérica:

var propertyChangeHandler = function(newValue, oldValue, property, object){  
  console.log("New Value: ",newValue," Old Value: ",oldValue,
  " Changed Property: ",property," Watched Object: ",object);
};  

La ventaja es que ya no se limita a escuchar un subconjunto de eventos que surgen de la API, todo ahora se puede comprobar si hay cambios en las propiedades.

1voto

Frank Lowney Puntos 11

Podrías intentar configurar el escuchador de eventos de la siguiente manera. Más información aquí

// Escuchar el evento de clic en la vista del mapa.
view.on("click", function(event) {
console.log("evento de clic: ", evento.mapPoint);
});

El ejemplo también muestra cómo escuchar los eventos. Escucha el evento de cambio en la propiedad allLayers del mapa. En este caso, sólo seguimos cuando se añaden capas al mapa. También escucha el evento layerview-create en la vista para ser notificado cuando cada capa en el mapa tiene su correspondiente LayerView y se renderiza en la vista. Por último, escuchamos el evento click de la vista

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