openlayers踩坑记录【1】

一个点图层vectorlayer,样式用的Text,表达一个实时测量值,会不断刷新变化。

以前(没有用到vue框架,很原始的模式)的做法,更新后将新的TextStyle保存到feature里面,然后layer.getSource().refresh(),在functionStyle里面,直接return feat.get('style')。  没有问题,正常刷新。

现在的项目用到vue,也不知道跟vue有没有关系哈,只是记录一下环境。

套用原来的做法,发现问题,

问题1:每当layer.getSource().refresh(),图层的所有feature会被清空,所以这个函数不能用了

问题2:文字内容不会自动刷新,要鼠标拖一下地图才刷新。

第二个问题,网上搜了一圈,没有找到有效办法,后来放弃这种functionstyle模式,打算试试feature.setStyle方式

这种方法使用很简单,就是调用var s = feature.getStyle();  s.getText.setText('111111');  再feature.setStyle(s),而且能够立即自动刷新。注意采用feature.setStyle这种模式,新建图层的时候,就不要设置style属性了。

这是一种很普通的需求,相信还有其它更好的做法,欢迎大家分享出来。。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值