按道理应该是进入地图不会自动执行regionchange这个方法,拖动时才执行。苹果,电脑模拟器都不执行,但是安卓执行,还执行N多次,明显的BUG啊。我有个地图拖动,当拖动范围扩大到一定程度,后台获取数据,以前安卓苹果系统都是好的,但是现在苹果和电脑模拟器都正常,安卓不正常,我模拟了regionchange下代码,,如下,
var that = this;
this.mapCtx.getCenterLocation({
success: function(res){
//获取上次中心点的位置
var last_lon=that.data.last_longitude
var last_lat = that.data.last_latitude
var lon=res.longitude;
var lat=res.latitude;
var do_lon=last_lon-lon;
var do_lat=last_lat-lat;
//当拖动一定范围才执行
if(do_lon>0.02||do_lon<-0.02||do_lat>0.02||do_lat<-0.02){
//保存中心点的位置,下次拖动使用
that.setData({
last_longitude: res.longitude,
last_latitude: res.latitude
})
//获取数据---当前为模拟弹框
//var user_id=that.data.user_id;
//var do_code=wx.getStorageSync('doCode');
//var data= {userId:user_id,doCode:do_code,doOp:'nearQd',latitude:lat,longitude:lon,log_flag:0};
//app.doRequest('app/map.jsp',data,'获取数据中…',that.doCbGet);
var do_i=that.data.do_i+1;
that.setData({do_i:do_i});
wx.showModal({
title: '操作提示',
content: 'aa'+do_i,
showCancel: false
})
}
}
});
当苹果和电脑模拟器进入地图的时候,都不会弹框提示,当拖动到一定范围的时候,会弹出a1,没任何问题,可是安卓点击进入地图,刚进入地图就自动执行了这个方法,执行的次数很随机,我试了多次,最多的弹出从a1到a9,自动执行N多次,bug啊。望抓紧更新下,以前的安卓版本没这个问题的。