openlayers 使用iconfont作为字体图标 来表示大量记录时会出现卡顿

使用OpenLayers的Iconfont图标在展示大量记录,如航班监控时,可能导致系统卡顿。由于Iconfont通过canvas实时生成图片,频繁更新1000多个航班位置会严重影响性能。为优化,建议切换到使用静态图片来表示图标,预先处理航班监控数据,以提高渲染效率和用户体验。
摘要由CSDN通过智能技术生成

上一篇讲过openlayers 可以使用iconfont来表示图标,好处是可以任意修改图标图片的颜色,但是如果是来表示大量要素时,存在卡顿现象,如在航班监控时,全国有1000多架航班同时在飞,系统每隔5秒刷新一次,由于用iconfont是用canvas来实时生成的图片的,每个航班生成,1000多架航班刷新会很卡,所以这时候应该用图片来表示图标,即将全国航班监控提取出来,单独用图片表示。

/**
 * 功能:航班样式localStyle
 * @param {feature}  fea         航空要素
 * @param {double}   resolution   分辨率
 */
function localStyle(fea, resolution) {
	var color,opacity;
	var airStatus = fea.get("airStatus");
	if(!airStatus)
		airStatus = "usual";
	var isSetColor = fea.get("isSetColor");
	if(isSetColor == true){
		color = fea.get("setColor");
		opacity = fea.get("setOpacity");
	}
	var icon = fea.get("icon");
	if(!icon){
		icon = fea.get("type");
	}
	var temp = mapFlts.icons[icon];
	var u16  = temp.u16;
	var size = temp.size;
	if(!color){
		color = temp.color?temp.color:(mapFlts.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值