这里使用了外部库Turf.js
尝试了很多包括:Cesium.PolygonPipeline.isPointInPolygon,Cesium.IntersectionTests.polygonContainmentTest都报错,只好使用外部库了
下载Turf.js
npm install @turf/turf
引入
import * as turf from '@turf/turf';//ES6 模块语法
//或者
const turf = require('@turf/turf');//js代码导入
使用
// 创建一个点的坐标
const point = turf.point([0, 0]);
// 创建一个多边形的坐标
const polygon = turf.polygon([[
[1, 1],
[1, -1],
[-1, -1],
[-1, 1],
[1, 1]
]]);
// 使用 Turf.js 计算点是否在多边形内部
const isPointInsidePolygon = turf.booleanPointInPolygon(point, polygon);
if (isPointInsidePolygon) {
console.log('点在多边形内');
} else {
console.log('点不在多边形内');
}