安卓App平台nvue页面 map 组件动态改变 polyline 属性不生效的问题,h5和小程序正常
小白大人
- 发布:2019-10-28 00:17
- 更新:2021-09-30 14:09
- 阅读:2155
9 个回复
小白大人 (作者)
已解决,原来不能直接往polyline里面push数据
i***@zhuyunfeng.com - 90后
怎么解决的啊
小白大人 (作者)
之前polyline是个数组,我添加路线点的时候直接用push往里面添加数据,发现不行,我就新弄一个数组,把所有的路线点数据都放在新数组里面,然后直接赋值就可以了,比如之前的是:this.polyline.push(...),现在改成:this.polyline=新数组;你试试看行不行
2019-11-26 23:58
i***@zhuyunfeng.com - 90后
我就是直接赋值的,vue下可以,nvue不可以
i***@zhuyunfeng.com - 90后
写在data里就可以,动态赋值不生效
i***@zhuyunfeng.com - 90后
可以了,感谢
this.polyline=新数组可以
我一直用的this.polyline[0]= 对象一直不可以
阿米托福
我的不行啊你怎样解决的 让我看看代码白
2022-06-25 14:28
4***@qq.com - 前端
您好,按照您的解决方案,我尝试了以下方法,还是不行,可以看下是新数组中赋值的方法不对吗?提前说声谢谢
···
var polylines_pts = [{
points: []
}] // 新数组
//下面是通过定时获取的新坐标:
let LOCATION = {
longitude: coords.longitude,
latitude: coords.latitude
}; //新坐标
···
小白大人 (作者)
不知道您这个是不是对象数组嵌套的问题,你可以试试单独拿出来,不做嵌套,就直接一个数组试试,或者试试楼下官方给的解决方法
2020-02-16 15:01
4***@qq.com
回复 小白大人: 感谢回复。
楼下的试了,不行(不知道是不是我的问题,我在另外一个帖子回复了)。官方给的polylines的数据格式是:[{
points:[{longitude:323, latitude:3232}]
}],
你是让我试试直接polylines = [{longitude:323, latitude:3232}]坐标点吗?你那边的polyline的数据格式是什么样的?
2020-02-18 11:23
小白大人 (作者)
回复 4***@qq.com: 你这个polylines 数组里多放几组数据看看,你这只有一个点,会不会是这个原因不能生成路线啊
2020-02-21 00:21
小白大人 (作者)
回复 4***@qq.com:
var a=[
{latitude:22.525189398393092,longitude:114.03538902763368},
{latitude:22.52373,longitude:114.03847},
]
_this.map_polyline=
[{
points:a,
color:"#007eff",
width:5,
borderWidth:1,
borderColor:"#007eff",
dottedLine:true
}];
2020-02-21 00:22
4***@qq.com
回复 小白大人: 感谢回复,我的通过push,动态push点的,会有很多点。你那边的polyline跟我的数据结构一样吗?
2020-02-21 18:03
小白大人 (作者)
回复 4***@qq.com: 上面的map_polyline就是我的数据结构
2020-02-21 20:07
jeawy
回复 小白大人: 谢谢,我之前用_this.map_polyline[0].points = 都不行。不知道官方会不会修复这个问题,最新的hbuilderx都没有修复
2020-03-12 21:53
DCloud_uni-ad_HDX
参考下面代码
小臂宰治
我也遇到了,小程序更新polyline可以实时刷新,app端不行。
测试了下,在app端好像是页面不刷新的问题?
我在map组件下放了两个button,按钮a和按钮b,a有一个控制禁用的变量(disabled属性的变量),按钮b按下的事件是改变这个变量。相当于按下b,a按钮由禁用改为启用,或由启用改为禁用。通过这个来强制刷新页面,就能在map上看到更新的线段。
小臂宰治
官方修复了....
2020-04-24 11:44
1***@qq.com
回复 小臂宰治: 修复了吗?我通过创建新的数组赋值给polyline是可以的,但是页面中是有两条线的,一条一开始就会绘制完成,后一条每秒在前一条取一个点绘制覆盖上新的颜色线条;
问题是;我通过新数组页面会卡死,原因可能是一开始的那一条线一直在重复绘制
2020-06-12 11:37
z***@126.com - QQ:212329852
----------------代码----------------------------------------
that.polylines.push(
{
points:new_arr,
arrowLine:true
}
)
console.log(that.polylines)
----------------打印结果--------------------------------
[{
"points": [{
"longitude": 116.397576,
"latitude": 39.906892
}, {
"longitude": "116.397539",
"latitude": "39.907478"
}, {
"longitude": "116.399366",
"latitude": "39.907539"
}, {
"longitude": "116.401562",
"latitude": "39.907656"
}],
"arrowLine": true
}]
楼主大大可以帮我看下这个 没有变化