Suite

OL3 vérifie si le point est à l'intérieur d'un polygone

OL3 vérifie si le point est à l'intérieur d'un polygone


Lorsque j'ajoute un point à ma carte Web, je veux lui donner une lettre qui représente la zone où se trouve le point, j'ai donc besoin de savoir dans quelle zone se trouve le point. Dans OpenLayers 2, je l'ai fait comme ceci :zones[i].geometry.containsPoint(point)---> renvoie vrai si c'est le cas.

Y a-t-il quelque chose comme ça dans OL3 ?

J'ai cherché dans l'API OL3 mais je ne l'ai pas trouvé.


Vous pouvez utiliseryourVectorLayer.getSource().getFeaturesAtCoordinate(point). Le résultat est un tableau, si sa longueur > 0 alors le point est à l'intérieur, sinon il ne l'est pas.


Ce type d'opérations n'est pas pris en charge directement dans ol3. (peut-être à l'avenir).

Mais vous pouvez utiliser une bibliothèque comme http://turfjs.org , dans ce cas vous aurez besoin de https://github.com/Turfjs/turf-within ou https://github.com/Turfjs/turf-inside

Vous pouvez utiliser ol.format.GeoJSON pour convertir à partir d'une géométrie ol3 et geojson pour le gazon et le dos.


La dernière version au moment de l'écriture est 3.16.0, a l'API :ol.extent.containsXY(extent, x, y)

Voir plus d'informations dans les derniers documents API


Voir la vidéo: OL3 polttoaineenlataus