mBaiduMap.setOnMapStatusChangeListener(new OnMapStatusChangeListener() {
@Override
public void onMapStatusChangeStart(MapStatus arg0) {
// TODO Auto-generated method stub
}
@Override
public void onMapStatusChangeFinish(MapStatus arg0) {
// TODO Auto-generated method stub
float zoom = mBaiduMap.getMapStatus().zoom;
Log.e("zoom", String.valueOf(zoom));
if (zoom < 11) {
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
mBaiduMap.clear();
try {
List<Parent> citys = db.findAll(Selector.from(
Parent.class).where("level", "=", 2));
for (int i = 0; i < citys.size(); i++) {
addProvince(new LatLng(citys.get(i)
.getLatitude(), citys.get(i)
.getLongitude()), 100);
}
} catch (DbException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
;
}
if (zoom >= 11 && zoom < 13) {
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
mBaiduMap.clear();
try {
List<Parent> countrys = db.findAll(Selector
.from(Parent.class).where("level", "=",
3));
for (int i = 0; i < countrys.size(); i++) {
addCountry(new LatLng(countrys.get(i)
.getLatitude(), countrys.get(i)
.getLongitude()), 50);
}
} catch (DbException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
} else if (zoom >= 13) {
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
mBaiduMap.clear();
for (int i = 0; i < 300; i++) {
addPoint(
new LatLng(30.2561160000 + Math
.random(),
120.1555860000 + Math.random()),
1);
}
}
}).start();
}
}
@Override
public void onMapStatusChange(MapStatus arg0) {
// TODO Auto-generated method stub
}
});
}
数据库存储、网络访问都必须放到异步请求中实现。
最新推荐文章于 2021-05-26 17:15:32 发布