0
非同期タスクを使用してマーカーをレンダリングし、Googleマップにマーカーを追加しようとしていますが、マップのロードが停止することはありません。 doInBackgroundメソッドとonPostExecuteメソッドを正しく使用していますか?私は本当にこの問題を解決する方法がわかりません。ここでAsyncTaskが終了しない
は私の2つの非同期タスククラスは
public class addMarkers extends AsyncTask<Void, String, GoogleMap> {
String result;
ProgressDialog pdia;
protected void onPostExecute(Result result) {
pdia.dismiss();
}
@Override
protected GoogleMap doInBackground(Void... params) {
publishProgress("Loading..."); // Calls onProgressUpdate()
MapsFragment.HOME = new LatLng(30.284273, -97.744777);
mGoogleMap.addMarker(new MarkerOptions().position(HOME));
return mGoogleMap;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pdia = ProgressDialog.show(getContext(), "Please wait", "Loading data from database.", true, false);
}
@Override
protected void onProgressUpdate(String... text) {
}
}
public class renderMap extends AsyncTask<Void, String, View>{
ProgressDialog pdia;
LayoutInflater inflater;
ViewGroup container;
renderMap(LayoutInflater inflater, ViewGroup container){
this.inflater = inflater;
this.container = container;
}
protected void onPostExecute(String result) {
pdia.dismiss();
}
@Override
protected View doInBackground(Void... params) {
publishProgress("Loading..."); // Calls onProgressUpdate()
mView = inflater.inflate(R.layout.fragment_maps, container, false);
return mView;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
pdia = ProgressDialog.show(getContext(), "Please wait", "Loading data from database.", true, false);
}
@Override
protected void onProgressUpdate(String... text) {
}
}
されており、ここで私の画面は、私はマップをロードしようとすると、次のようになります。