小程序
小游戏
企业微信
微信支付
扫描小程序码分享
使用map组件时,在onLoad修改data中的markers数组,增加了新的点,但是新的点并没有在页面中显示
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
onLoad:
function
(options) {
var
newPoint = {};
that =
this
;
for
(
i = 0;i <
.data.points.length;i++){
newPoint = {
iconPath:
"/resources/others.png"
,
id: i,
latitude:
.data.points[i].latitude,
longitude:
.data.points[i].longitude,
width: 50,
height: 50,
};
that.data.markers.push(newPoint);
console.log(newPoint);
}
console.log(
.data.markers);
},
onLoad这里我是这样写的,最后打印在console的this.data.markers也是有新数据的。。如果有错误,那请问应该改动哪里呢?
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
newArray = [];
newArray.push(newPoint);
that.setData({markers:newArray});
原来这样写就可以了。。
markers = that.data.markers;
//1.先定义一个变量用来存放当前的markers数组
i = 0; i <
.data.points.length; i++) {
markers.push(newPoint);
//2.把标记点加到markers数组的末尾
that.setData({
markers: markers
//3.把新的markers数组渲染给data
})
你渲染给data了吗(setData)?
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
onLoad:
function
(options) {
var
newPoint = {};
var
that =
this
;
for
(
var
i = 0;i <
this
.data.points.length;i++){
newPoint = {
iconPath:
"/resources/others.png"
,
id: i,
latitude:
this
.data.points[i].latitude,
longitude:
this
.data.points[i].longitude,
width: 50,
height: 50,
};
that.data.markers.push(newPoint);
console.log(newPoint);
}
console.log(
this
.data.markers);
},
onLoad这里我是这样写的,最后打印在console的this.data.markers也是有新数据的。。如果有错误,那请问应该改动哪里呢?
onLoad:
function
(options) {
var
newArray = [];
var
newPoint = {};
var
that =
this
;
for
(
var
i = 0;i <
this
.data.points.length;i++){
newPoint = {
iconPath:
"/resources/others.png"
,
id: i,
latitude:
this
.data.points[i].latitude,
longitude:
this
.data.points[i].longitude,
width: 50,
height: 50,
};
newArray.push(newPoint);
console.log(newPoint);
}
that.setData({markers:newArray});
console.log(
this
.data.markers);
},
原来这样写就可以了。。
onLoad:
function
(options) {
var
newPoint = {};
var
that =
this
;
var
markers = that.data.markers;
//1.先定义一个变量用来存放当前的markers数组
for
(
var
i = 0; i <
this
.data.points.length; i++) {
newPoint = {
iconPath:
"/resources/others.png"
,
id: i,
latitude:
this
.data.points[i].latitude,
longitude:
this
.data.points[i].longitude,
width: 50,
height: 50,
};
markers.push(newPoint);
//2.把标记点加到markers数组的末尾
console.log(newPoint);
}
that.setData({
markers: markers
//3.把新的markers数组渲染给data
})
},
你渲染给data了吗(setData)?