收藏
回答

map组件,polyline.points更新后,页面没有刷新

问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
API和组件 小程序 Bug map组件,polyline.points更新后,页面没有刷新 微信iOS客户端 6.6.7 2.0.9

JS中动态改了polyline.points,因为polyline是数组,所以我设置了第一个个元素[0],从log中可以看到后台数据确实是改变了,但是地图上的polyline始终没有变化,应该是个bug

WXML文件内容:

<map id="map" longitude="{{x}}" latitude="{{y}}" scale="14" controls="{{controls}}" bindcontroltap="controltap" markers="{{markers}}" bindmarkertap="markertap" polyline="{{polyline}}" bindregionchange="regionchange" bindcontroltap="moveToLocation" show-location

style="width: 100%; height: 60vh;"></map>

<button bindtap="test" class="weui-btn mini-btn" type="primary" size="mini">选取坐标</button>

JS文件内容:

test: function () {

var testpoints = [{

longitude: 121.43686999999998,

latitude: 31.18826000000001

}, {

longitude: 113.324520,

latitude: 23.21229

}]

this.data.polyline[0].points = testpoints

},

JS文件中的data内容:

data: {

polyline: [{

points: [{

longitude: 113.3245211,

latitude: 23.10229

}, {

longitude: 113.324520,

latitude: 23.21229

}],

color: "#FF0000DD",

width: 2,

dottedLine: true

}]

}


最后一次编辑于  2018-06-11  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

3 个回答

  • 娇华
    娇华
    2018-06-11

    麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),我们定位下问题

    2018-06-11
    赞同
    回复 4
    • 深海
      深海
      2018-06-11

      wechatide://minicode/lo6pQ6mo7bop

      2018-06-11
      回复
    • 深海
      深海
      2018-06-12

      但是this.setData好像语法不支持给对象中的属性赋值,也就是说只能给整个polyline对象赋值,而没有办法给polyline.points赋值,是这样的吗?

      2018-06-12
      回复
    • sanford🐶~
      sanford🐶~
      2018-06-12回复深海

      setData({'obj.arr[o]': ''}) 还支持这种写法

      2018-06-12
      回复
    • 深海
      深海
      2018-06-17回复sanford🐶~

      赞~

      2018-06-17
      回复
  • 深海
    深海
    2018-06-11

    wechatide://minicode/lo6pQ6mo7bop

    2018-06-11
    赞同
    回复
  • sanford🐶~
    sanford🐶~
    2018-06-12

    直接使用this.data赋值,改动不会更新到视图上,需要使用this.setData来更新

    2018-06-12
    赞同
    回复