我对使用Mapbox-gl-Draw有一个独特的问题。Mapbox Draw允许你轻松创建一个多点多边形,但是我需要它只使用8个点,因为我在其他地方使用的算法接受8个lnglat元素。我想知道,当单击绘图按钮时,是否有可能在屏幕上显示一个8个点的矩形,并能够拖动每个点?
下面是一次单击绘图的预期结果。

目前我可以画一个矩形,但只有4个点,矩形的每个角。
发布于 2019-01-16 08:39:56
您应该只获取输出,然后以编程方式添加中点,而不是试图弄乱mapbox-gl-draw。您可以使用turf's midpoint函数来实现此目的。类似于:
const coords = rectangle.geometry.coordinates[0];
const newcoords = [];
coords.forEach((point, i) => {
newcoords.push(point);
if (i < coords.length - 1) {
newcoords.push(midpoint(point, coords[i+1]).geometry.coords);
}
});
rectangle.geometry.coordinates = newcoords;https://stackoverflow.com/questions/54183631
复制相似问题