我在我的活动上实施了一张地图,但纬度和经度来自服务器。 AsyncTask正在请求这些值,但我不知道如何在启动OnMapReadyCallback回调之前等待接收数据......
这是我的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
....
//retrieve the latitude and longitude
new ProgressTask().execute();
m = ((SupportMapFragment) this.getSupportFragmentManager()
.findFragmentById(R.id.map));
//need to wait for AsyncTask...
m.getMapAsync(this);
我希望启动命令
m.getMapAsync(this);
在我的AsyncTask的onPostExecute中:
@Override
protected void onPostExecute(OnMapReadyCallback result) {
....
....
但我不知道如何将OnMapReadyCallback的params传递给AsyncTask?
答案 0 :(得分:1)
我终于找到了一个解决方案(不确定这是最好的...)来检索My Activity的上下文(实现OnMapReadyCallback)我只是调用了
m.getMapAsync(this);
来自onPOstExecute的方法:
@Override
protected void onPostExecute(Fragment result) {
....
loadMap();
}
public void loadMap(){
m.getMapAsync(this);
}