最近在做项目的时候遇到一个需求:要求用户可以在地图上绘制多边形,项目中使用的是高德地图,由于无法限制用户绘制的方式,可能出现下图的情况
用户期望的效果如下图所示
本质上,用户希望出现的是凸多边形而不是凹多边形,需求进一步抽象就是我们需要根据用户在地图上绘制的点计算最小的凸多边形,根据需求我在网上找到了一个算法地址如下
https://www.nayuki.io/page/convex-hull-algorithm
提供多个语言版本,根据需要下载源码