1 votos

OpenLayers: Encontrar características en el radio de los píxeles

Estoy usando openLayers 3.19.1.

Al hacer click en el mapa (evento map.on("click") ) recupero el pixel sobre el que he hecho click (evento.pixel).

Necesito obtener todas las características en un radio X sobre el píxel.

Hay una función llamada "forEachFeatureIntersectingExtent" que puedo ejecutar en el ol.source.Vector, pero necesita un parámetro "extent".

¿Cómo puedo convertir mi píxel en una medida?

Si alguien tiene otra idea para obtener todas las características en un radio específico de un clic en el mapa por favor comparta.

1voto

Eric Emmons Puntos 166

Esta función responde a mi pregunta:

public  generateExtentFromPixel(pixel: ol.Pixel, size = 100): ol.Extent {

   let EXTENT_TL = [];
   EXTENT_TL[0] = pixel[0] - size;
   EXTENT_TL[1] = pixel[1] - size;

   let EXTENT_BR = [];
   EXTENT_BR[0] = pixel[0] + size;
   EXTENT_BR[1] = pixel[1] + size;

   let newExtent: ol.Extent = [EXTENT_TL[0], EXTENT_TL[1], EXTENT_BR[0], EXTENT_BR[1]];

   return newExtent;
}

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