问题标签 [leaflet-geoman]

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 投票
0 回答
898 浏览

javascript - 以编程方式将顶点添加到 Leaflet 折线

我正在使用 Leaflet 和 Leaflet PM 及其折线工具来创建折线。单击并向地图添加新点时一切正常。然后我用这些数据存储在其他地方并用它做一些其他的事情。事情是。

我将拥有一个功能,能够按“e”键和“d”键使用 DOM 事件监听器向地图添加点。这是因为我需要更改楼层标高。如果我在与先前添加的点相同的位置上使用鼠标,它会关闭折线。那里也很好用。我在地图上使用鼠标悬停,存储 lat long,然后在 keydown 上我使用我的 workingLayer 添加LatLng(latlng)。它保存纬度和经度,它画线。但是当我单击时没有添加顶点。我需要 vertexadded 函数才能将我的其他元数据添加到它。稍后我还将使用这些顶点进行自定义。

我已经花了一整天的时间,现在我真的需要一些帮助,找不到任何关于它的信息。

我还尝试将标记直接添加到图层,但没有奏效。

总而言之。当我单击制作折线时,一切正常。但是当以编程方式调用 layer.addLatLng(latlng); 不会添加顶点。如图所示,只有 latlng 及其所在位置。因此 pm:vertexadded 永远不会被调用。

我错过了什么?

我的代码中的一个例子:

Image1:单击时的外观(一切正常,添加了顶点)。

Image2:当我添加一个按键时它的外观。没有添加顶点,因此永远不会调用 pm:vertexadded。

我单击时的外观(一切正常,添加了顶点)

当我添加一个按键时它的外观。 没有添加顶点,因此永远不会调用 pm:vertexadded。

0 投票
2 回答
372 浏览

javascript - 从 Leaflet 弹出窗口中的复选框访问功能

我正在使用传单,并且正在使用 Leaflet PM 插件绘制多边形

在我完成绘图时,我运行以下事件

因此,当用户单击“保存”按钮时,我正在尝试使用 jQuery 读取复选框的值:

但是,这两个结果在控制台中都显示为“未定义”。有人有提示,为什么会这样?

0 投票
1 回答
2934 浏览

javascript - Leaflet.pm 编辑模式获取形状内的新坐标

我正在使用传单 js 构建带有一些引脚https://leafletjs.com/的地图,并且我还允许绘制形状,例如多边形、圆形等。我还可以使用名为 leaflet.pm 的插件对这些进行编辑https://github.com/codeofsmit/leaflet.pm

这里有事件,但在禁用编辑模式或拖动完成后,没有一个事件会返回新位置的坐标。这是我迷上的事件;

这个事件给了我什么需要;

任何想法如何在编辑形状时获得更新坐标?

0 投票
2 回答
706 浏览

javascript - 如何通过 leaflet.pm 使 GeoJSON 数据不可编辑

我有一个 geojson 文件,我用 ajax 得到它。但我想防止编辑我在启动期间加载的几何图形。只有使用 leaflet.pm 添加的那些应该是可编辑的。我该怎么做 ?

传单.pm

我正在使用geojson坐标json。当页面加载时,这些绘图会添加到地图中。

{pmIgnored: true} 在尝试删除删除模式后,当我单击我从 geojson 添加的静态图形之一时,会删除所有这些图形。我该如何预防?

我想要做的是在删除模式打开时不要以任何方式删除静态坐标

0 投票
1 回答
786 浏览

leaflet - 我可以向 Leaflet.PM 工具栏添加其他自定义图标吗

我正在尝试使用 Leaflet.pm 库(https://github.com/codeofsmit/leaflet.pm)。我想知道是否可以向工具栏添加其他图标。例如,有标准的折线图标,但我想添加另一条具有虚线样式的折线。蒂亚

0 投票
0 回答
141 浏览

leaflet - 如何使相邻的多边形与传单中编辑的多边形对齐?

Leaflet中是否有任何方法可以使用高级编辑工具栏中的“重塑特征”工具以与QGIS相同的方式编辑由相邻多边形组成的形状文件(来自数据库)?

目前我正在使用 Leaflet.pm 进行编辑。通过拖动坐标来重塑激活的多边形效果很好,但我希望相邻的多边形与新形状对齐。并且拖动坐标会变成很多工作。使用“重塑功能”工具绘制新边界将是理想的。任何人都知道这是否可能,如果可能:如何?

谢谢!

0 投票
2 回答
1615 浏览

leaflet - 带有 geojson 多边形图层的 Leaflet Draw 和 Leaflet Snap

我正在尝试在我正在创建的 Leaflet 应用程序中启用捕捉(使用 Leaflet Snap)。我正在使用传单绘图。现有图层是从 geojson 中的数据库读取的。我将这些添加到 guideLayers 并在那里添加新创建的功能。它不工作。有没有人成功地创造出这样的东西?也就是说,能够创建一个新的多边形并捕捉到传单(geojson 图层)中的现有多边形吗?谢谢丹。

0 投票
1 回答
944 浏览

leaflet - 如何使用 Leaflet.pm 在多边形图层上添加标记?

添加线和多边形没有问题,但是当尝试在多边形层(“lyrPoly”)顶部添加标记时,它解释我想单击多边形(例如打开弹出窗口)而不是添加标记。我怎样才能避免这种情况?我正在使用 leaflet.pm 添加标记、线串和多边形。

这是标记的代码:

在 ajax 函数中我使用这个:

对于多边形层,我有一个相应的“onEachFeature”函数,如下所示:

将标记添加到背景/底图可以正常工作,但不能添加到多边形图层上。为什么会这样,什么是好的解决方案?我不想将标记添加到与多边形相同的图层,但要避免多边形“挡道”。

我有过interactive: false在添加标记模式下制作多边形图层的想法,但没有成功。

0 投票
3 回答
913 浏览

leaflet - 将 EasyButton、Geoman 与 ngx-leaflet 集成

我在我的 Angular 应用程序中使用原始的 leaflet.js,它依赖于一些传单插件,如 EasyButton、Geoman、Distortable Image。ngx-leaflet 看起来很酷很简单。所以我决定迁移到 ngx-leaflet。但我确定是否可以将这些插件与库集成。如果是这样,请提供一些指导。

0 投票
2 回答
681 浏览

leaflet - 用传单地工在多边形上切孔

我正在使用奇妙的“传单几何人”来绘制和编辑几何图形,但在理解切割工具的工作原理时遇到了麻烦。如何获得已切割层的几何形状?

这是我的代码:

console.log 在切割前后给出了相同的结果,即矩形坐标。

在此处输入图像描述

- - 更新 - -

按建议添加console.log(JSON.stringify(e));会返回此错误:

完成切割后的行为是它仍然启用了绘图/切割工具,尽管我无法“完成”它。