Leaflet vectorGrid.slicer error

时间:2017-06-14 23:35:20

标签: javascript leaflet

我试图使用Leaflet.VectorGrid API在传单地图中加载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.

1 个答案:

答案 0 :(得分:1)

库中有一个错误来获取GeoJSON点的坐标。

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

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