首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在获得响应后在传单上渲染大量的动态标记需要花费大量的时间

在获得响应后在传单上渲染大量的动态标记需要花费大量的时间
EN

Stack Overflow用户
提问于 2020-10-16 13:44:44
回答 2查看 140关注 0票数 1

我正在使用leaflet.js创建一个带有动态标记的地图视图。每次收到响应时,我都会尝试基于数据创建动态组件,并使用changeDetector来检测更改。当响应数据不是很大(大约500kb)时,它可以很好地工作,但当响应数据超过这个大小时,标记需要花费大量时间来渲染。例如,当响应在3-4Mb左右时,大约有29k个标记需要2分钟来呈现,因此我的页面需要大约3-4分钟来加载,这并不符合要求。

我使用的是Angular框架。是否有一些解决方案可以减少我的动态组件在宣传单上的渲染时间。

EN

回答 2

Stack Overflow用户

发布于 2020-10-16 14:12:09

您可以尝试使用canvas模式来提高性能https://leafletjs.com/reference-1.7.1.html#map-prefercanvas

还可以显式设置L.Canvas()渲染器https://leafletjs.com/reference-1.7.1.html#map-renderer

如果这还不能解决问题,那么您可能必须考虑对您的标记进行聚类,因为28k标记有很多需要处理。例如,您可以使用像https://github.com/Asymmetrik/ngx-leaflet-markercluster这样的角库。

票数 1
EN

Stack Overflow用户

发布于 2020-10-25 01:54:39

您可以尝试使用Kyrix,它旨在支持大规模的标记聚类。它需要与数据库一起工作,但它也提供了Docker容器化,因此您不需要担心安装和维护数据库。

在交互式地图上显示188万场野火的Kyrix应用程序示例:http://wildfire2.kyrixdemo.live/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64383509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档