首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用mapbox-gl-Draw创建8个点的矩形?

如何使用mapbox-gl-Draw创建8个点的矩形?
EN

Stack Overflow用户
提问于 2019-01-14 22:43:09
回答 1查看 539关注 0票数 0

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

下面是一次单击绘图的预期结果。

目前我可以画一个矩形,但只有4个点,矩形的每个角。

EN

回答 1

Stack Overflow用户

发布于 2019-01-16 08:39:56

您应该只获取输出,然后以编程方式添加中点,而不是试图弄乱mapbox-gl-draw。您可以使用turf's midpoint函数来实现此目的。类似于:

代码语言:javascript
复制
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;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54183631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档