4 votos

¿Cómo identificar las capas superpuestas de GeoJSON en el Folleto?

Tengo un mapa del Folleto que contiene capas superpuestas de GeoJSON. ¿Cómo puedo identificar todas las características en la ubicación seleccionada?

Ver http://jsbin.com/zavuda/edit?html,js,output para una demostración usando los datos de la muestra del folleto.

Observe que se puede hacer clic en la capa del Campus cuando es la capa superior, y sus atributos se muestran a través de la capa onEachFeature función.

enter image description here

Luego usa la palanca debajo del mapa para activar la capa de Estados, que se superpone a la capa de Campus. Después de esto, la capa del Campus ya no puede ser activada.

enter image description here

¿Es posible ejecutar una consulta de "identificación" en el lugar en el que el usuario ha hecho clic y devolver todas las características que se intersectan?

3voto

Om Shankar Puntos 117

A menos que haya una forma de hacer esto que no conozco, mi enfoque aproximado sería usar algo como leaflet-pip para hacer lo siguiente:

  1. Mantén una lista de todas las capas que quieras consultar
  2. Ponga un manejador de clic en el mapa para obtener la longitud de un punto de clic.
  3. Toma el punto de clic y revisa cada capa para ver si hay un polígono devuelto.
  4. Recoge cualquier golpe positivo y devuelve

Ejemplo de hoja-pip:

var gjLayer = L.geoJson(statesData);
var results = leafletPip.pointInLayer([-88, 38], gjLayer);
// results is an array of L.Polygon objects containing that point

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