问题标签 [leaflet]

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 回答
15286 浏览

javascript - 无法绑定到传单弹出窗口上的单击事件

我正在使用 Leaflet 绘制地图,在弹出窗口中我添加了一个链接,该链接应该导致更详细的描述,描述与地图分离并使用手风琴排列到列表中,因此每个描述都被隐藏了。

我可以使用锚链接到手风琴内容,但我需要执行一些 JavaScript onclick,所以我试图添加一个click事件处理程序 - 它不起作用。

这是我的代码:

你可以在JS Fiddle上查看

我已将此作为 github 上的错误报告给 Leaflet 的开发人员herehere但他关闭错误回复说这不是问题,我可以使用另一个class- 这是行不通的。

编辑:我自己也找到了一些:http: //jsfiddle.net/M5Ntr/12/ 但仍然存在问题,可能有 500 分,所以我希望代码尽可能少,我试图创建函数,但我不能传递变量:(

这是有效的

但这是可取的(不工作):

甚至

这将在里面做 .on('click') 或类似的东西......

0 投票
2 回答
20890 浏览

javascript - 从地图中删除多边形

要求:使用Leaflet js maps api,当客户点击标记时,应该在标记的正下方绘制一个矩形,根据标记居中。然后单击另一个标记应删除以前的矩形并在新单击的标记下方绘制另一个矩形。

问题:我正在使用下面的代码来绘制一个多边形,我可以看到一个矩形。它在标记上绘制矩形。然后通过单击另一个标记,正在绘制一个新的矩形。但是旧的矩形也仍然存在。

问题:我应该如何实现该行为,以便在单击新标记时,旧矩形将从地图中删除?

0 投票
1 回答
2496 浏览

php - 引导英雄单位高度 - 传单

我有一个带有导航栏和侧边栏(跨度 3)+ 地图(跨度 9)的基本引导布局。我的问题是,当我在浏览器中查看此代码时,地图如下所示:http ://dl.dropbox.com/u/15923835/bootstr.jpg

但我想要地图的固定大小(它应该覆盖页面的 80%。我试图在每个 DIV 中设置一个固定的高度,但没有任何反应。你有什么建议吗?

抱歉我的技术解释不好(我正在努力学习)

这是代码的副本:

0 投票
2 回答
1984 浏览

javascript - 如何在传单弹出窗口中以 html 形式创建 csrf 令牌?

如何在传单弹出窗口中创建 csrf 令牌,以便用户可以通过与表单交互将一些文本发布到数据库?我已经将{% csrf_token %}标签添加到一个简单的 html 表单中,它工作正常,但是当我将它放在弹出窗口的内容部分时它不起作用,尽管其他 html 元素工作正常。

});

基本上,当我将令牌留在其中时,Leaflet 地图不会完全加载,但如果我将其排除在外,我会收到 CSRF 令牌丢失或不正确的错误。

我对这一切(javascript/leaflet/web dev/django)有点陌生,所以我不确定问题出在哪里或应该从哪里开始?我想我将不得不在leaflet.js 代码周围戳一下,但我不确定我是否能够理解它。任何明确的建议或我可以插入的一些代码,或者只是为什么(用外行的话)代码不能正常工作!

0 投票
2 回答
1875 浏览

maps - 是否可以允许用户搜索地址,并将图钉附加到使用 Leaflet 的谷歌地图中的位置?我该怎么做呢?

我读过一些网站如何使用街道数据并将其覆盖在他们的地图图块上。这在传单中有必要吗?我认为标记的附加在传单文档中得到了很好的介绍,但我不确定是否有一种(理想情况下相当简单的)方法可以在谷歌地图中全面搜索地址功能。

0 投票
3 回答
38167 浏览

events - 如何触发传单地图多边形上的事件?

我试图弄清楚如何手动触发 Leaflet 多边形的事件(通过 GeoJSON 加载)。

简而言之,我有一张带有许多多边形的传单地图。我在地图外还有一个常规超链接,单击该超链接时,应在特定多边形上触发鼠标悬停事件(或任何事件)。

如何为我的所有多边形分配 ID,以便我可以将超链接绑定到特定多边形的事件?或者这甚至是最合乎逻辑的方式吗?

最终,我试图创建一个包含许多多边形的地图以及与每个多边形相关联的文本标签的 HTML 表。单击 HTML 表格文本时,我想在地图多边形上触发事件(反之亦然)。我只是不知道如何引用每个多边形。

这是我非常简化的 HTML:

这是我非常简化的 JS:

0 投票
1 回答
2750 浏览

javascript - 传单使用的平铺格式是什么?

我正在计划一个网站,它将使用巨大的示意图,即不是照片的光栅图像。如果它们是照片并且我有兴趣将它们显示出来,我会使用zoomifyIIPImagePanoJS。尽管所有这些解决方案都提供 HTML5 支持,但它们对我的目的并不完全令人满意,因为它们针对 JPEG 进行了优化,使用了晦涩的 JavaScript 或具有不平滑的过渡。

所以,我在想也许我可以使用带有自定义瓷砖的传单。也就是说,不是将 javascript 连接到地图服务器,我可以将其连接到我自己的带有示意图的 tile-provider。我的理由是传单提供了平滑的渲染,使用的瓷砖看起来是 png,我什至可以使用标记和矢量图层。但我遇到了一个绊脚石:

什么样的瓷砖传单期望?这方面的信息在哪里?地图投影或我不知道的其他地理特定方面是否会成为问题?

提前感谢您的帮助。

0 投票
1 回答
4707 浏览

javascript - 传单错误:在 LayerGroup 中创建自定义图标标记时,对象函数没有方法“createIcon”

我正在从 XML 流创建标记,并在其中设置自定义图标。我想将我的标记放在图层组中,以便我可以支持关闭某种类型的所有标记。当我使用自定义图标将标记添加到我的地图(使用 GroupLayer)时,我收到以下错误:

未捕获的类型错误:对象函数 (){this.initialize&&this.initialize.apply(this,arguments)} 没有方法“createIcon”

示例图标

示例层

向地图或图层组添加标记

我尝试先将图层组添加到地图,然后将标记添加到图层组:

  1. 图标变量被实例化
  2. GroupLayer 变量被实例化
  3. GroupLayers 添加到 Map
  4. 标记是使用图标选项创建的
  5. 标记添加到 GroupLayer

我尝试先将标记添加到图层组,然后将图层组添加到地图:

  1. 图标变量被实例化
  2. GroupLayer 变量被实例化
  3. 标记是使用图标选项创建的
  4. 标记添加到 GroupLayer
  5. GroupLayers 添加到 Map
0 投票
2 回答
4212 浏览

jquery - 传单地图网址被禁止

我正在尝试创建一个 jquery mobile phonegap 应用程序,并且我想使用其中嵌入的传单地图。我目前正在做一个非常基本的概念验证,但我运气不佳。每次我尝试加载地图时,地图的 .png 都不会加载,控制台会告诉我它的禁止。我想我可能设置了错误的地图 URL,但是 CloudMade 网站上的文档有点模糊。您能提供的任何帮助将不胜感激。

代码:

当我尝试加载图像时,出现以下错误:GET http://a.tile.cloudmade.com/MY_APP_KEY/997/256/0/0/0.png 403(禁止)。显然,我正在用从 CloudMade 获得的密钥替换 MY_APP_KEY,但除此之外,我不知道还能去哪里。

在此先感谢您的帮助。

0 投票
1 回答
1491 浏览

leaflet - 如何在 Leaflet 多边形上触发本机弹出窗口

如何手动触发 Leaflet 多边形上的原生弹出窗口?

我可以像这样将本机弹出窗口绑定到每一层:

而且我已经手动为每个多边形分配了一个 ID,以便以后可以像这样引用它们:

我试过像这样触发弹出窗口:

但这给了我这样的错误:

知道我哪里出错了吗?