Leaflet: v: 1.1.0: 默认标记图标的 url 不正确

创建于 2017-07-05  ·  3评论  ·  资料来源: Leaflet/Leaflet

如何繁殖

  • 我正在使用的传单版本:1.1.0
  • 我使用的浏览器(带版本):Chrome 59
  • 我使用的操作系统/平台(带版本):MacOS 10.12
  • 将传单与 React + Rubix Admin 模板结合使用。 使用了具有相同设置的传单 0.7,没有问题。 Leaflet 是通过 Bower 安装的。

我期待什么样的行为以及我看到什么样的行为

传单标记应正确加载。 相反,我收到此错误消息:

GET http://localhost :8080/bower_components/leaflet/dist/imagesmarker-icon-2x.png 404(未找到)

但该 URL 是错误的,因为它缺少“图像”和“marker-icon-2x.png”之间的斜线

它应该用斜杠格式化。 如果我进入 Leaflet 源并更改 IconDefault 选项,使其看起来像这样(第 6976 行...):

    iconUrl:       '/marker-icon.png',
    iconRetinaUrl: '/marker-icon-2x.png',
    shadowUrl:     '/marker-shadow.png',

然后它按预期工作。

如果我恢复到 0.7.7,那么这个问题就会消失。 是什么导致了这个问题?

最有用的评论

也许这与我刚刚遇到的问题有关。 标记未加载(它尝试加载为 base 64)。

如何繁殖

  • 我正在使用的传单版本:1.1.0
  • 我使用的浏览器(带版本):版本 59.0.3071.115(官方版本)(64 位)
  • 我使用的操作系统/平台(带版本):MacOS 10.12.5
  • 将传单与 Angular 2 结合使用。通过 NPM 安装并使用@types/leaflet使用 Angular CLI 设置项目。

我期待什么样的行为以及我看到什么样的行为

对我来说,Leaflet 库将图标加载为 Base 64:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB[CUT_FOR_BREVITY]ASUVORK5CYII=&quot;)marker-icon.png" class="leaflet-marker-icon leaflet-zoom-animated leaflet-interactive" tabindex="0" style="margin-left: -12px; margin-top: -41px; width: 25px; height: 41px; transform: translate3d(225px, 197px, 0px); z-index: 197; outline: none;">

src字段在末尾包含&quot;)marker-icon.png ,这会导致图像无法加载为无效的 base64。 如果我在 Chrome 检查器中删除它,图标会正常显示。

所有3条评论

实际上,更好的解决方法是设置 L.Icon.Default.imagePath 以确保路径包含最后的斜杠。 我想在这一点上,只是想知道为什么这似乎发生了变化?

也许这与我刚刚遇到的问题有关。 标记未加载(它尝试加载为 base 64)。

如何繁殖

  • 我正在使用的传单版本:1.1.0
  • 我使用的浏览器(带版本):版本 59.0.3071.115(官方版本)(64 位)
  • 我使用的操作系统/平台(带版本):MacOS 10.12.5
  • 将传单与 Angular 2 结合使用。通过 NPM 安装并使用@types/leaflet使用 Angular CLI 设置项目。

我期待什么样的行为以及我看到什么样的行为

对我来说,Leaflet 库将图标加载为 Base 64:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB[CUT_FOR_BREVITY]ASUVORK5CYII=&quot;)marker-icon.png" class="leaflet-marker-icon leaflet-zoom-animated leaflet-interactive" tabindex="0" style="margin-left: -12px; margin-top: -41px; width: 25px; height: 41px; transform: translate3d(225px, 197px, 0px); z-index: 197; outline: none;">

src字段在末尾包含&quot;)marker-icon.png ,这会导致图像无法加载为无效的 base64。 如果我在 Chrome 检查器中删除它,图标会正常显示。

大家好,感谢举报。 我很确定您所描述的问题与#4968 相同,因此我将其作为重复项关闭。 如果您认为这是另一个问题,请告诉我,我会考虑重新开放。

此页面是否有帮助?
0 / 5 - 0 等级