Javascript 检查点是否位于OpenLayers 3中的多边形内
在OpenLayers地图中绘制多边形时,我想知道标记是否位于多边形内部。我在OpenLayers API中进行了搜索,但没有找到解决方案 你可以在这里看到我的全部代码 我的印象是,我必须修改此功能:Javascript 检查点是否位于OpenLayers 3中的多边形内,javascript,openlayers-3,Javascript,Openlayers 3,在OpenLayers地图中绘制多边形时,我想知道标记是否位于多边形内部。我在OpenLayers API中进行了搜索,但没有找到解决方案 你可以在这里看到我的全部代码 我的印象是,我必须修改此功能: function addInteraction() { var value = typeSelect.value; if (value !== 'None') { draw = new ol.interaction.Draw({ source: vecto
function addInteraction() {
var value = typeSelect.value;
if (value !== 'None') {
draw = new ol.interaction.Draw({
source: vectorSource,
type: /** @type {ol.geom.GeometryType} */ (typeSelect.value)
});
map.addInteraction(draw);
draw.on('drawend',function(e){
//Here
});
}
}
如何做到这一点?您可以使用该库,该库实现简单的几何图形处理,如相交
,差异
,等等。它包含一个OL3解析器,允许将几何图形从OL3转换为JST,反之亦然
看一看。基本上,您将使用一个过程来检查标记的几何体是否在多边形内,并从那里执行所需操作。您有一个用于ol.geom.geometry的方法“”
因此,其代码如下所示:
var polygonGeometry = e.feature.getGeometry();
var coords = iconFeature.getGeometry().getCoordinates();
polygonGeometry.intersectsCoordinate(coords)