cesium如何判断一个点是否在多边形中

        在学习cesium中,有这么一个需求,就是手动圈中一个面【多边形】,然后在地图上标注一些标注点,并判断这些点哪些在面内加以区分。

     首先需要创建一个面,代码如下:

  const polygon = new Cesium.Entity({
    polygon: {
      hierarchy: Cesium.Cartesian3.fromDegreesArray([
        105.0, 32.0, 131.0, 32.0, 131.0, 50.0, 105.0, 50.0, 102.0, 40.0, 105.0,
        32.0,
      ]),
      material: Cesium.Color.BLUE.withAlpha(0.5),
      outline: true,
      outlineColor: Cesium.Color.BLACK,
    },
  });
  // 将多边形添加到Viewer中
  cesiumGather.cesiumViewer.entities.add(polygon);
};

   然后创建点,【之前的文章有提过,可以自行翻阅】。

让后通过Turf.js来进行判断,这个js文件库,主要用于地图坐标判断、转化等等,可自行查看Turf官网

完整代码如下:






你可能感兴趣的:(java,前端,html)