Показать вкладку Google Map View - задержка загрузки маркеров из геокодирования? - PullRequest
0 голосов
/ 10 сентября 2011

У меня есть вкладка в приложении на основе вкладок, которая показывает Google Maps. Он загружает несколько маркеров для примерно 60 мест, используя геокодирование с помощью метода на основе JSON.

Проблема в том, что при нажатии на вкладку вид не меняется до тех пор, пока все места не будут загружены. Могу ли я в любой момент показать вид карты, а затем позволить приложению обновить все места?

Я вставил способ создания маркеров ниже:

while (mCursor.moveToNext()) {

    Address = mCursor.getString(4);
    Name = mCursor.getString(0);


    String noSpaces = Address.replaceAll(" ", "+");

    JSONObject geocoded = getLocationInfo(noSpaces);
    GeoPoint point = getGeoPoint(geocoded);


    List<Overlay> mapOverlays = mapView.getOverlays();
    Drawable drawable = this.getResources().getDrawable(R.drawable.pushpin);
    CustomizedItemOverlay itemizedOverlay = 
    new CustomizedItemOverlay(drawable, this);

    OverlayItem overlayitem = 
    new OverlayItem(point, Name, Address);

    itemizedOverlay.addOverlay(overlayitem);
    mapOverlays.add(itemizedOverlay);

    }

1 Ответ

0 голосов
/ 11 сентября 2011

Просто используйте AsyncTask и внутри doInBackground выполните поиск и внутри onPostExecute, который получит результат от doInBackground, в процессе вставки оверлеев.

...