问题:怎么怎么把方法一和方法三放在方法二中计算出距离,并且把距离和方法二中的arr数组一起push出来,方便后面渲染。
注:希望详细一点,怕看不懂,谢谢了
方法一:是获取用户当前的位置,经度和纬度
方法二:获取数据库中的各个帖子的位置,经度和纬度
方法三:计算商家和用户之间的距离的方法
使用promise
Page({
data: {
},
onShow() {
this.getDistance()
},
// 获取用户位置
findxy() {
return new Promise((reslove, reject) => {
wx.getLocation({
success: res => {
reslove(res)
},
fail: err => {
reject(err)
}
})
})
},
// 获取帖子位置
demo() {
return new Promise((reslove, reject) => {
setTimeout(() => {
reslove({
longitude: 105.24,
latitude: 26.123
})
}, 1000)
})
},
// 计算距离
async getDistance() {
const userPos = await this.findxy()
const comPos = await this.demo()
console.log(userPos);
console.log(comPos);
}
})
需要用到全局变量,你声明一个全局变量来存取
第一种:
#include
using namespace std;
void myswap(int x,int y)
{
int t;
t=x;
x=y;
y=t;
}
int main()
{
int a,b;
cout<<"请输入带交换的两个整数"<<endl;
cin>>a>>b;
myswap(a,b);
cout<<"调用交换函数后的结果是:"<<endl;
cout<<a<<" "<<b<<endl;
return 0;
}
运行结果:
注释:该方法在调用myswap函数时开辟的内存空间在函数调用结束时会释放掉,因此没有起到传值的效果。
第二种:
#include
using namespace std;
void myswap(int *p1,int *p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
int main()
{
int a,b;
cout<<"请输入带交换的两个整数"<<endl;
cin>>a>>b;
myswap(&a,&b);
cout<<"调用交换函数后的结果是:"<<endl;
cout<<a<<" "<<b<<endl;
return 0;
}
运行结果:
注释:此方法中,运用指针,调用函数时,将变量的地址交换,成功起到了数值的交换。
第三种:
#include
using namespace std;
void myswap(int &x,int &y)
{
int t;
t=x;
x=y;
y=t;
}
int main()
{
int a,b;
cout<<"请输入带交换的两个整数"<<endl;
cin>>a>>b;
myswap(a,b);
cout<<"调用交换函数后的结果是:"<<endl;
cout<<a<<" "<<b<<endl;
return 0;
}
运行结果:
注释:此程序运用了引用,给需要交换的变量“另起一个名字”,起到了交换的作用。