问题是,当我在叠加层上签出并再次签入后,收到此错误:
未捕获的TypeError:无法读取未定义抛出的属性'x' dist / leaflet.markercluster.js:1:25696 TypeError:无法读取属性 L.DistanceGrid._sqDist(DistanceGrid.js:114)上未定义的'x'
在e._addLayer的L.DistanceGrid.getNearObject(DistanceGrid.js:94) (MarkerClusterGroup.js:974)在评估(MarkerClusterGroup.js:249)
在e.addLayers处(e.addLayers(MarkerClusterGroup.js:283) (layersupport.js:99)在e.onAdd(layersupport.js:517)在 位于e.whenReady(leaflet.js:5)的e._layerAdd(leaflet.js:5) e.addLayer(leaflet.js:5)
created() {
axios.get("/api/category")
.then(res => this.categories = res.data)
.catch(err => console.log(err));
},
当我签入时,p是不确定的。我已经为这个错误苦苦挣扎了很长时间。也许您有一些建议
标记是为组定义的,它们可以正确显示,只有签入才能签出。一旦我将它们检出,群集就会消失,并且一旦签入,我就会收到之前提到的错误,而不是在地图上重新显示群集
这是控制器代码:
I saw that this function from DistanceGrid(is in leaflet library) which is called when i check in on the overlay
_sqDist: function (p, p2) {
var dx = p2.x - p.x,
dy = p2.y - p.y;
return dx * dx + dy * dy;
}
PS:我不知道如何提供可行的版本,因为这是Salesforce应用
答案 0 :(得分:1)
Leaflet.markercluster.layerSupport插件可能无法很好地处理chunkedLoading
选项。
我不确定您为什么需要定期“结帐”和“签到”?您是要使用“图层控件”来删除/添加叠加层吗?
否则,如果“仅”需要一种将Leaflet.markercluster与Layers Control结合使用的解决方案,则可以尝试使用更简单的插件Leaflet.FeatureGroup.SubGroup,尽管如果chunkedLoading
是这样做的原因,问题,该插件可能也相同。