javascript - Leaflet vectorGrid.slicer错误

标签 javascript leaflet

我正在尝试使用 Leaflet.VectorGrid API在传单 map 中加载 GeoJSON,但无论我尝试什么,我都会收到此错误:

Uncaught (in promise) TypeError: this._makeFeatureParts is not a function
    at e.initialize (vectorgrid.js:1085)
    at e (leaflet.js:5)
    at e._createLayer (vectorgrid.js:1039)
    at e.<anonymous> (vectorgrid.js:977)
    at <anonymous>

看起来错误的根源是 JavaScript 的这一部分:

_makeFeatureParts: function(t, e) {
    var r = t.geometry[0][0];
    "x" in r && (this._point = L.point(r.x * e, r.y * e),
    this._empty = L.Util.falseFn)
}

这是 source script 的第 1092-1096 行.

GeoJSON I'm using是一堆点,并且与其他 Leaflet 函数一起使用。

这是我用于矢量网格的脚本的相关部分:

var vectorGrid = L.vectorGrid.slicer(myGeoJSON).addTo(map);

知道我错过了什么导致该错误吗?我希望能够添加一个简单的图层来看看它是如何工作的,但现在我无法完成第一步。我尝试过不同的 GeoJSON 并向命令中添加更多内容,但没有成功。

编辑:通过阅读下面答案提供的信息,我能够获得可行的解决方案。 Here's what I did to get it to work. .

最佳答案

库中获取 GeoJSON 点坐标时存在错误。

此问题已在其 master 分支中修复,但修复尚未发布。如果您等不及 v1.3.0 版本,可以直接从 GitHub 安装该库。

请参阅 PR https://github.com/Leaflet/Leaflet.VectorGrid/pull/62

关于javascript - Leaflet vectorGrid.slicer错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44556267/

相关文章:

javascript - 触发Vue函数更改某些组件字段时出现问题

javascript - history.pushState 如何设置浏览器显示条目的标题?

传单抽奖 : Get polygon latLng in 'draw:editvertex' event

php - 将点均匀分布在 map 上的矩形上(调试)

javascript - d3 : Text displayed when clicked on leaflet map

javascript - 将切换类列表添加到附加的 child

javascript - 在模态内点击几次后,模态弹出窗口移动到左侧

javascript - 长代码变成函数?

javascript - 如何使用 Leaflet 通过缩放更改 geojson 中的图标?

javascript - 使用 Leaflet 中的弹出窗口将整数更改为字符串值