我正在尝试使用 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/