问题标签 [leaflet.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 回答
17936 浏览

javascript - 如何使用传单和 Javascript 在地图上添加图像

我正在寻找一种使用 Javascript 将图像添加到“传单地图”的方法。

我想要做的是加载图像,调整其大小和位置,并将其附加到传单地图。

0 投票
1 回答
224 浏览

heatmap - ui-leaflet Heat 插件与微软浏览器的 ui-leaflet-draw 冲突

我有一个 AngularJS (1.58) webapp 显示一些带有ui-leaflet 的地图。我已经成功集成了Leaflet.Heat插件。另外,我已经成功集成了Leaflet.Draw插件。

问题: 当我同时使用 Plugin、Heat 和 Draw 时,我的 web 应用程序不再在 Microsoft 浏览器(Microsoft Edge、Internet Explorer 11)上显示任何地图。我曾尝试使用这些插件的不同发行版本组合,以使其适用于所有常见的浏览器。当我将传单地图带回 Microsoft Edge 上工作时,Heat 插件不再工作(不仅 ME,Opera、Firefox、GChrome 也不工作)。

总结:最新版本的 ui-leaflet、Leaflet、ui-leaflet-draw 和 Leaflet.Heat 在 Google Chrome、Firefox、Opera 上运行良好。但是 Microsoft Edge 的地图完全消失了。旧版本再次为 Microsoft Edge 显示地图,但 Heat 插件不再适用于任何浏览器。

问题:对于所有这些浏览器(说到 Google Chrome、Firefox、Opera、Microsoft Edge),这些工具的版本是否存在有效组合?如果是这样,它们是哪些版本?如果没有,是否有推荐的解决方法?也许其他插件,我可以用它来绘制或显示好看的热图?

重现步骤: 下载Leaflet.Heat 示例。将 ui-leaflet-draw 集成为库(例如通过凉亭)。使用 Google Chrome、Firefox 或 Opera 对其进行测试。根据您的版本,您将看到工作热图,但使用 Microsoft Edge 进行测试,您看不到任何地图,或者您看不到任何热图,并且 Microsoft Edge 显示 ua 地图(也没有热量)。

0 投票
1 回答
199 浏览

javascript - 如何使用角度从地图传单绘制中获取绘制的对象?

我正在使用角度传单,传单绘制,并且我正在尝试获取一个圆形(或其他绘制的对象)对象,以查看地图上的某个点是否超时出现在其中。我需要在单独的服务中使用它。如何访问已经在我的角度代码中其他地方绘制的对象的数据?

0 投票
1 回答
890 浏览

leaflet - 如何添加从 MySQL 中提取的多边形

我可以绘制一个多边形并将其保存到 MySQL 数据库中。(如果有人现在需要怎么做,请问)。

我还可以向我的数据库发送一个 SELECT 请求并显示保存的多边形。

这是我的数据库返回给我的内容

但是,我怎样才能将带有多边形的图层添加到我的地图中,并且可以编辑或删除它,就好像我从我的绘图控件中绘制了一个新的多边形一样。

因为它不是一个事件,所以我不能使用它,对吧?:

我试过没有结果!但它就像一个创造?不是吗?

这是我用来从数据库中获取多边形的代码:

0 投票
0 回答
191 浏览

leaflet - 为什么 L.polygon 以某种方式工作,但不能以另一种方式工作

美好的一天,如果我的问题可能是基本的,我很抱歉,但我认为我在将字符串转换为数组时遇到了问题。

我正在尝试将多边形添加到地图(或图层)。我从 MYSQL 数据库中提取了一些多边形坐标以将其显示到地图中。

首先是我的代码:

这个:

显示/打印:

"[[51.436888577205,-1.373291015625],[51.169011079452,-1.494140625],[51.158676864424,-0.8624267578125],[51.505323411493,-0.889892578125],[51.436888577205,-1.373291015625]]"

我不明白为什么会这样

作品!

但是这个:

不工作!

请记住,这是:

打印:

[[51.436888577205,-1.373291015625],[51.169011079452,-1.494140625],[51.158676864424,-0.8624267578125],[51.505323411493,-0.889892578125],[51.436888577205,-1.373291015625]]

我想,是因为内容

实际上是一个带有多个 '[[]]' 的字符串

现在,我不知道如何将上面的字符串转换为 rwally 数组。所以,我不知道我写的到底是什么,但我需要“解析”

我不知道怎么做!

你能给我一个解决方案吗?

0 投票
0 回答
117 浏览

javascript - 禁用在缩放按钮单击时添加点

我正在使用带有 leaflet.draw (v. 0.2) 插件的传单 (v. 1.0.2) 地图。我编辑了控制按钮,现在当我尝试使用 leaflet.draw 添加多边形并单击缩放按钮时,它会在地图上添加点。

我怎样才能禁用它?

控制按钮的 HTML:

0 投票
1 回答
703 浏览

leaflet - 如何识别包含多边形的图层

美好的一天,我有两个函数 getGeofences() 和 getTraces()

getGeofences() 将向地图添加多边形,而 getTraces() 将向地图添加标记和折线。

两者都包含

它可以很好地清除图层(以及多边形和标记)

我想知道是否有办法只清除多边形或带有折线的标记。

例如,当我调用 getGeaofences() 时,它只清除带有多边形的图层。当我调用 getTraces() 时,它只清除标记和折线。

我查看了 eachLayers 函数但没有成功!

顺便说一句,我如何获得图层的 id,我刚刚创建!我查看了 getLayerid 和 getLayers() 但我显然无法正确使用它。帮助也将非常有帮助!

这里有一些代码向您展示我如何构建我的地图。(我希望我能提供你需要帮助的一切)

创建多边形

获取地理围栏()

获取跟踪()

0 投票
1 回答
2930 浏览

leaflet - 传单可编辑限制绘制到特定区域

Leaflet.Editable我想限制/限制我的客户只能在特定区域/范围内绘制。

实际上我试图将它们限制在地图的 (90, -90, 180, -180) 范围内。

在此处输入图像描述 在此处输入图像描述 我无法在任何地方找到任何东西,似乎我错过了一些东西。

CODEPEN 演示

请帮忙。


编辑:

Y 轴正确阻挡,鼠标无法将形状拉伸到顶部和底部之外。

问题出在 X 轴上(如图所示)

至于现在,我在保存检查后解决了它,如果它超出地图边界(糟糕的用户体验),则清除形状。我需要一个鼠标限制,就像 y 轴一样。

0 投票
3 回答
4058 浏览

leaflet - 单击第二个点后如何在 Leaflet.Draw 中完成折线?

当我尝试使用Leaflet.Draw 插件绘制折线时遇到问题。

首先,我点击地图绘制第一个点,然后第二次点击完成线。

但是,在我第二次单击该行后,该行不会自行完成。它显示了线路的延伸。

当我双击它时,该行完成,否则我需要手动单击完成按钮。我想在地图上第二次点击完成那条线。

这是我绘制折线的代码:

0 投票
1 回答
127 浏览

android - 为什么回调函数不适用于传单库 Android 中的标记设置?

在我的应用程序中,我使用传单库来渲染地图和绘图形状。我正在使用下面的代码在地图上设置标记。标记设置正确,但单击这些标记图标不起作用。我的意思是回调函数没有被调用。下面是我用于我的案例的代码。

我想提到的一件事是,我已经测试了在 Android 棒棒糖版本上运行良好的相同代码,并且在尝试棒棒糖版本之前的回调函数时没有调用。当我将设备连接到浏览器时,控制台中没有任何内容。任何帮助。