前端biubiubiu
前端biubiubiu
  • 发布:2020-11-03 14:29
  • 更新:2020-11-03 15:53
  • 阅读:1821

map组件polyline 动态增加重绘问题;

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 2.9.3

手机系统: Android

手机系统版本号: Android 11

手机厂商: 华为

手机机型: 321

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

polyline没push一个点都重新绘制

预期结果:

希望push一个点,绘制一个点

实际结果:

视图重绘,线会闪烁,效果不要

bug描述:

map组件使用polyline ,会发现一操作polyline 对象都会重新渲染界面。

比例我先定义this.polyline = []

后面我增加this.polyline.concat(....)画一条线,二条线

你会发觉每一次操作this.polyline对象都会新渲染界面,使得有很明显的界面闪动问题

目前:我需要实现定时器一秒绘制一段轨迹线,然后push进去,但是polyline每次都重绘,闪烁

polyline怎么动态更新,才能每次都接着已绘制完的数组后面,接着绘制轨迹线呢?

2020-11-03 14:29 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

示例发下吧 我们看看怎么优化下

  • 前端biubiubiu (作者)

    你看一下,案例写的很简易,可能不是很好,你可以修改一下,但是差不多就是,车每走一个点,线就画一个点,点多了,就闪动的特别明显

    2020-11-03 15:54

  • DCloud_Android_ST

    回复 前端biubiubiu: 微信小程序会闪吗

    2020-11-03 15:56

  • 前端biubiubiu (作者)

    回复 DCloud_Android_ST: 会,就是数据改变了,然后polyline 每次都是从第一个点开始绘制

    2020-11-03 15:59

  • 前端biubiubiu (作者)

    这个是map渲染机制的问题?绘制polyline就不能动态添加数据,只渲染新数据?

    2020-11-03 16:00

  • DCloud_Android_ST

    回复 前端biubiubiu: 是API设计问题 就没考虑过单个修改问题。polyline本身就很难判断那一段不需要重新绘制。还存在删除polyline的逻辑 所以整体很难达到你期望的效果

    2020-11-03 16:12

  • 前端biubiubiu (作者)

    回复 DCloud_Android_ST: 原生的h5,用百度地图的方法是可以实现;现在这个polyline的问题,有其他解决方案?看上去效果稍微好一点的解决方法?

    2020-11-03 16:15

  • DCloud_Android_ST

    没有办法 尽量不要修改polyline API设计问题

    2020-11-03 16:30

  • 叫我白老师

    回复 DCloud_Android_ST: 产品需求一般也用不到删除polyline的地步,如果实在困难,是否能够单独给出一个push方法?

    2021-01-13 16:29

前端biubiubiu

前端biubiubiu (作者)

简单写了一个案例,效果差不多就是,车辆在地图上,每走一个点,线就画一个点

该问题目前已经被锁定, 无法添加新回复