问题标签 [mapbox-gl-draw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1971 浏览

mapbox-gl-js - 允许使用 Mapbox-GL-Draw 一次仅绘制一个形状

我正在使用 mapbox draw 来绘制多边形。我希望它一次只能在屏幕上绘制一个多边形。例如,用户绘制一个多边形,然后再次单击多边形绘制按钮,第一个多边形将被删除。我曾尝试使用 draw.modechange 来执行此操作,但它的编码方式存在错误。当我单击多边形绘制按钮时,现有的多边形被删除,但是当我尝试绘制新的多边形时,什么都没有。

0 投票
1 回答
5902 浏览

angular - 未找到模块:错误:无法解析“fs”角度

我正在 Angular 应用程序中实现Mapbox,并且正在执行以下操作

将 css 添加到 angular-cli.json

"../node_modules/@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css"

零件

显示编译失败

./node_modules/jsonlint-lines/lib/jsonlint.js Module not found: Error: Can't resolve 'fs' in 'C:\angular\mapboxdemo\node_modules\jsonlint-lines\lib'

下面是我的package.json

我尝试执行ng eject命令生成 webpack.config 文件并尝试添加 { fs: "empty" } 但抛出以下错误

在此处输入图像描述

我怎样才能解决这个问题?

0 投票
1 回答
5185 浏览

mapbox - 如何为使用 mapbox-gl draw 绘制的单个多边形着色?

我正在读取一个 GeoJSON 文件并将多边形(和其他东西)导入到 mapbox-gl draw 中,使用draw.set(geoJSON). 如何通过要素属性中的属性为单个多边形着色。例子:

这个想法是我们将class_id= 1 为红色,class_id= 2 为蓝色,class_id= 3 为绿色的特征着色。我们如何做到这一点?

0 投票
0 回答
613 浏览

javascript - Mapbox 集群的数据驱动样式

当使用 Mapbox 的 GL JS 可视化集群时,如何将集群显示为大小/颜色与集群点的平均值的属性“Rev”成比例的圆圈,而不是与点数属性成比例,就像我的代码现在正在做的那样.

有什么方法可以简单地做到这一点,还是我应该研究其他方法?

这是我的 GeoJson 文件,后跟 HTML/JS 代码:

0 投票
1 回答
55 浏览

javascript - 从 JSON 中获取特定值并创建多个数组

嗨,亲爱的 StackOverflow 专家, 我知道这听起来像是一个愚蠢的问题,但我到处寻找解决方案,希望你能帮助我。

我有这个对象,它使用 Mapbox 保存相对于世界地图的多边形坐标。我的问题是我必须到达坐标数组,但我如何到达那里?

我希望你能帮帮我 :)

0 投票
1 回答
5770 浏览

javascript - 在 MapBox 中的两个标记之间绘制线性动画线

我在 mapbox 上看到了一些动画线的例子,但我还没有找到任何在两点之间创建线性线的例子。我可以在地图上创建标记,也可以在这些标记之间画一条线。但是,我想慢慢地从起点(开始)到终点(终点)创建这条线。这是在两个坐标之间画线的代码。我只想让它慢慢地(动画地)然后重复那个动画。

0 投票
1 回答
588 浏览

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

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

以下是一键绘制的预期结果。 预期结果 目前我可以绘制一个矩形,但矩形的每个角只有 4 个点。

0 投票
1 回答
1147 浏览

mapbox-gl-draw - 如何禁用中点选择,拖动 LineString 类型(draw_line_string 模式)

如何禁用用户在 mapbox-gl-draw 中选择(direct_select)LineString 中点的功能?我有一个“注释”的自定义模式,它应该只允许具有 2 个顶点的 LineStrings。

我已经在自定义模式(https://github.com/mapbox/mapbox-gl-draw/blob/master/docs/MODES.md)中尝试了一些生命周期钩子,特别是针对draw_line_string,包括 onDrag。我的问题是我根本不希望拖动点存在(这将涉及用户看到一个中点,拖动该顶点,然后看到它弹回)。

我也尝试过处理绘图样式,但它们对所有中点(包括多边形)都是通用的。

第三种方法可能是在我的框架中在 mapbox-gl-draw 之外使其无效,但我什至想完全避免选择中点的能力。

0 投票
1 回答
1021 浏览

mapbox-gl-js - 手动触发 Mapbox-GL-Draw 绘图模式

我想在应用程序中使用 Mapbox-GL-Draw,但想从 Mapbox 地图容器外部的按钮触发多边形绘制,而不是显示正常的绘图控件。

一个 hacky 方法是在创建按钮后简单地移动按钮,但有没有一种简单、干净的方法来启动绘图过程?

0 投票
2 回答
766 浏览

mapbox - 添加 url 重定向到 mapbox 图标

我试图允许点击一个地图框标记,当点击它时,它会自动将您带到一个新链接。

这可能吗?

我目前有 10 个位置的地图,加载时缩放级别显示所有位置。当您单击某个位置时,它会将您放大到该位置。

我现在希望它在点击时将您带到一个 url,而不是放大,但是我似乎找不到任何有关如何执行此操作的文档。

我知道可以使用其中包含 url 的弹出框来完成,但是有没有办法删除额外的步骤。

谢谢