1.下载`turf`的包
turf官网https://turfjs.fenxianglu.cn/category/
npm install @turf/turf --save
2.页面引入
import * as turf from '@turf/turf'
3.计算一些点存在于多边形中
// pointArr是所有点的数组
// eleaddr是多边形的坐标(!!!注意:多边形坐标第一个与最后一个需要保持一致)
const pt = turf.points(pointArr)
const poly = turf.polygon([eleaddr])
const ptsWithin = turf.pointsWithinPolygon(pt, poly)
4.此时得到的“ptsWithin”的值是以下
5.此时根据判断得到的数组对象利用双重for循环进行计算点与点之间的距离
const features = ptsWithin.features
for (let i = 0; i < features.length; i++) {
for (let j = i + 1; j < features.length; j++) {
let point1 = turf.point(features[i].geometry.coordinates)
let point2 = turf.point(features[j].geometry.coordinates)
const distance = turf.distance(point1, point2, { units: 'meters' })
}
}
// 此处units: 'meters' 表示的单位为米
最后得到的distance 就是在多边形内每个点与点之间的距离