Javascript 小叶标记聚类和散列
我有一个在集群中有很多标记的地图,还有markercluster插件(我创建它是因为在.JS文件中有一个geojson作为变量),我试图用zoom/lat/lng和Hashable.JS动态修改URL散列,但每次我用超过40000个标记的geojson加载我的站点时,似乎markercluster和hashable之间存在冲突。这就是我得到的错误:Javascript 小叶标记聚类和散列,javascript,leaflet,leaflet.markercluster,hashable,Javascript,Leaflet,Leaflet.markercluster,Hashable,我有一个在集群中有很多标记的地图,还有markercluster插件(我创建它是因为在.JS文件中有一个geojson作为变量),我试图用zoom/lat/lng和Hashable.JS动态修改URL散列,但每次我用超过40000个标记的geojson加载我的站点时,似乎markercluster和hashable之间存在冲突。这就是我得到的错误: leaflet-src.js:1905 Uncaught TypeError: Cannot read property 'lat' of unde
leaflet-src.js:1905 Uncaught TypeError: Cannot read property 'lat' of undefined
at L.LatLngBounds.intersects (leaflet-src.js:1905)
at NewClass._recursively (leaflet.markercluster-src.js:1763)
at NewClass._recursivelyRemoveChildrenFromMap (leaflet.markercluster-src.js:1712)
at NewClass._moveEnd (leaflet.markercluster-src.js:921)
at NewClass.fire (leaflet-src.js:587)
at NewClass.panBy (leaflet-src.js:2575)
at NewClass._tryAnimatedPan (leaflet-src.js:3770)
at NewClass.setView (leaflet-src.js:2460)
at Object.<anonymous> (index.js:85)
at change (hashable.min.js:1)
传单src.js:1905未捕获类型错误:无法读取未定义的属性“lat”
在L.LatLngBounds.intersects(传单src.js:1905)
在NewClass._递归(传单.markercluster src.js:1763)
在NewClass._recursivelyRemoveChildrenFromMap(传单.markercluster src.js:1712)
在NewClass._moveEnd(传单.markercluster src.js:921)
在NewClass.fire(src.js:587传单)
在NewClass.panBy(传单src.js:2575)
在新的课堂上.\u tryAnimatedPan(传单src.js:3770)
在NewClass.setView(单张src.js:2460)
反对。(索引js:85)
更改时(hashable.min.js:1)
我怀疑内部传单.markercluster(MCG)状态尚未完全就绪,只要标记加载仍在进行
由于
事件,MCG尝试显示适当的标记,但由于缺少内部值而失败,因此显示错误消息“moveend”
addLayers
完成后使用设置为“就绪”的标志。在hashable change中,检查该标志,如果尚未就绪,请稍后检查(例如,使用setTimeout
)
一些插件改进的可能性:
也许有意思的是,确保MCG在每个处理块之间始终具有有效的内部状态,以便可以随时更改映射视图。但这将明显减慢整个处理过程的持续时间
另一种可能是暂时禁用映射上的MCG事件侦听器,以便在重新处理它们时,它不会尝试读取其内部变量。是否使用传单的
chunkedLoading
选项。markercluster?是的!这是我的群集选项:chunkedloading:true,disableClusterAtZoom 19,siperifyOnMaxZoom:false禁用chunkedloading
时是否仍有错误?不,您是一个真正的用户,您如何解释?