11小时前小编发现微信小程序用户:【□】提出了一个关于“腾讯地图地址解析,设标注点。将结果存入数组,数组中有数据,但length为0;求教怎么样才可以存入?”的问题,在问题中开发者□对该问题做了如下阐述:
想将一个数组中的地址通过qqmapsdk.geocoder进行解析,并作为markers在地图上标注出来。思路【将解析的结果放入数组中,后将此数组作markers】。但发现在地图上没有标注点显示。发现原因是虽然局部变量temp数组成功添加所有结果,但最终setData后,数组中有内容,却没有长度;网上找原因说是因为异步,自己尝试了很久都没办法成功,求大佬指教!菜且第一次提问,如果有描述不清楚希望多多包涵!并且可以说说我这个思路是否可行吗?谢谢
getLocat_mark: function (flag) { // 解析附近list(高&中)中地址
var _this = this;
var index = 0
var temp = []
var address
var Len
var iconPathvar timer = setInterval(function () {
if (flag === 0) {
address = _this.data.shListR[index].address;
Len = _this.data.shListR.length;
iconPath = ‘./../../images/mark_red.png’;
} else if (flag === 1) {
address = _this.data.smListR[index].address;
Len = _this.data.smListR.length;
iconPath = ‘./../../images/mark_yel.png’;
}
//调用地址解析接口
qqmapsdk.geocoder({
//获取表单传入地址
address: address, //地址参数,例:固定地址,address: ‘北京市海淀区彩和坊路海淀西大街74号’
success: function (res) { //成功后的回调
console.log(‘res’, res);
var res = res.result;
var latitude = res.location.lat;
var longitude = res.location.lng;temp.push({
id: index,
title: res.title,
latitude: latitude,
longitude: longitude,
locate: address,
iconPath: iconPath,
width: 20,
height: 20,
})
console.log(‘请求后push’,temp)},
fail: function (error) {
console.error(error);
},
complete: function (res) {
console.log(res);
}
});
index++;
if (index >= Len) {
clearInterval(timer);
}
}, 360)if (flag === 0) {
_this.setData({
hListM: temp,
// markers : temp
})} else {
_this.setData({
mListM: temp
})
}该图片引用微信开放社区
注:以上是微信小程序开发者:”□”对于本问题的一些阐述,这里做一个引用,我们将实时关注微信小程序助手对该问题提出的解决方案。
【50分钟前】微信小程序技术运营专员对用户□提出的腾讯地图地址解析,设标注点。将结果存入数组,数组中有数据,但length为0;求教怎么样才可以存入?给予如下回复
执行顺序问题
微信官方对于小程序倾入了大量精力,有了开源框架,微信官方智能小程序可以让第三方平台轻轻松松构建自己的小程序平台,还可以将小程序和APP关联起来,让你的APP不再是一座孤岛。
如果您也在使用微信小程序,请关注我们,如果您有关于微信小程序的使用问题请关注我们,如果您要找百度小程序模板、微信小程序模板请关注小程序模板网或者去微信开放社区找官方人员给予解决,相信微信官方在小程序上的发力会是一个里程碑!