这里使用了外部库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('点不在多边形内');
- }