у меня есть фрагмент;MapViewFragment, который отображает карту Google.Я хочу добавить маркеры к нему из моей базы данных.Если я пытаюсь добавить маркеры в onMapReady, я получаю сообщение об ошибке, что я в основном потоке.Если я пытаюсь добавить маркеры, как показано ниже, я получаю сообщение об ошибке, что я не в основном потоке, чтобы добавить маркеры.Как я могу получить список и добавить маркеры на карту?
private class InsertMarkersAsyncTask extends AsyncTask<Void,Void,Void> {
private InsertMarkersAsyncTask() {
}
@Override
protected Void doInBackground(Void... voids) {
//TODO: This needs work
List<Site> sites = SiteDatabase.getInstance(getContext()).siteDAO().loadSites();
for (int i = 0; i < sites.size(); i++) {
String[] siteLatLng = String.valueOf(sites.get(i).getLatlng()).split(",");
Double[] doubleLatLng = new Double[2];
doubleLatLng[0] = Double.parseDouble(siteLatLng[0]);
doubleLatLng[1] = Double.parseDouble(siteLatLng[0]);
LatLng current = new LatLng(doubleLatLng[0], doubleLatLng[1]);
mMap.addMarker(new MarkerOptions().position(current).title(sites.get(i).getSiteName()));
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
}
}