javascript - 图标的固定大小。开放层3

标签 javascript openlayers-3

我正在使用OpenLayers3图书馆。我想要固定的图标大小。我使用此代码设置大小 38x38px:

 new ol.style.Style({
       image: new ol.style.Icon({
           src: icon,
           size: [38, 38]
       })
});

我在 Firebug 中遇到错误:

IndexSizeError: Index or size is negative or greater than the allowed amount

出了什么问题?

最佳答案

我已成功通过使用大于实际图标大小的图像大小在 IE 和 Firefox 中复制您的问题,请参阅 jsFiddle .

当图像设置为其实际大小 [32, 48] 或更小的值时,此操作运行良好,但一旦超过该大小,您就会在 Firefox 和 IE 中收到错误。

var iconStyle = new ol.style.Style({
  image: new ol.style.Icon(/** @type {olx.style.IconOptions} */ ({
    anchor: [0.5, 46],
    size: [32, 48],
    anchorXUnits: 'pixels',
    anchorYUnits: 'pixels',
    opacity: 0.75,
    src: 'http://ol3js.org/en/master/examples/data/icon.png'
  }))
});

查看iconstyle source正如您所建议的,尺寸似乎与 anchor 位置的关系比尺寸更大。

正如 Karl-Johan 所说,这似乎是一个错误。鉴于 OL3 现在处于 Gamma 状态,现在可能是报告它的好时机。

我意识到这并不能解决您的问题,但至少可以有原因地复制它。

关于javascript - 图标的固定大小。开放层3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24774180/

相关文章:

javascript - Openlayers3 - 使用捏合手势在触摸设备上进行分数缩放?

javascript - Openlayers如何更新 map 移动事件上的叠加位置

javascript - 是否可以在不懂 JavaScript 的情况下学习 Node.js?

javascript - 不可变 : filtering a List of Maps

Javascript 对象键只有在 console.log 展开后才能解析

javascript - Openlayers 3 - 聚类和线条组合

javascript - Open Layers 3层可见性——传递变量的问题

javascript - 我将如何根据我在 d3 中的数据 ID 创建自己的色标?

javascript - 如何显示作为 props 传递给功能组件的数组元素?

animation - 在动画之前预加载图 block