Openlayers OL3-查找每个多边形内的任意点
我想找到国家的所有点,我创建了100个点并在多边形中搜索。但是没有结果Openlayers OL3-查找每个多边形内的任意点,openlayers,openlayers-3,Openlayers,Openlayers 3,我想找到国家的所有点,我创建了100个点并在多边形中搜索。但是没有结果 var count = 100; var features = new Array(count); var e = 4500000; for (var i = 0; i < count; ++i) { var coordinates = [(2 * e * Math.random() - e)+20, (2 * e * Math.random() - e)+20]; features[i] = new ol.F
var count = 100;
var features = new Array(count);
var e = 4500000;
for (var i = 0; i < count; ++i) {
var coordinates = [(2 * e * Math.random() - e)+20, (2 * e * Math.random() - e)+20];
features[i] = new ol.Feature(new ol.geom.Point(coordinates));
}
var polyFeatures;
$.get(
'https://raw.githubusercontent.com/johan/world.geo.json/master/countries.geo.json',
function(res) {
var format = new ol.format.GeoJSON();
polyFeatures = format.readFeatures(res);
polyFeatures.forEach(function(poly) {
features.forEach(function(point) {
//console.log(poly.getGeometry().getExtent())
if(poly.getGeometry().intersectsExtent(point.getGeometry().getExtent())){
console.log('Fount!');
}else
{console.log('Not Fount!')}
});
});
}
);
var计数=100;
var特征=新阵列(计数);
var e=4500000;
对于(变量i=0;i
Plunker上的代码是您的随机点在地图坐标中,geojson在lonlat中,您需要在搜索中转换其中一个
if(poly.getGeometry().clone().transform('EPSG:4326','EPSG:3857').intersectsExtent(point.getGeometry().getExtent())){
或
if(poly.getGeometry().intersectsExtent(point.getGeometry().clone().transform('EPSG:3857','EPSG:4326',).getExtent())){