Android 在屏幕旋转之前缺少贴图覆盖

Android 在屏幕旋转之前缺少贴图覆盖,android,android-mapview,overlays,Android,Android Mapview,Overlays,在这里,我可以获取并显示用户在地图上的当前位置,我可以检索并解析GooglePlacesJSON数据到数组中。问题是,尽管显示了当前位置覆盖,但在我将屏幕从纵向旋转到横向之前,其他覆盖不会显示。即使我将其旋转回“纵向”,它仍能正常工作 // call to retrieve and parse json data Intent i = new Intent(this,HttpExample.class); startActivity(i); List

在这里,我可以获取并显示用户在地图上的当前位置,我可以检索并解析GooglePlacesJSON数据到数组中。问题是,尽管显示了当前位置覆盖,但在我将屏幕从纵向旋转到横向之前,其他覆盖不会显示。即使我将其旋转回“纵向”,它仍能正常工作

    // call to retrieve and parse json data
    Intent i = new Intent(this,HttpExample.class);    
    startActivity(i);  

    List<Overlay> mapOverlays;
    mapOverlays = mapView.getOverlays();
    mapView.getOverlays().clear();

    // display current location overlay
    GeoPoint point = new GeoPoint((int)(lat * 1E6), (int)(lon *1E6));   
    controller.animateTo(point);
    Drawable drawable = this.getResources().getDrawable(R.drawable.mark_red);
    itemizedOverlay = new MapItemizedOverlay(drawable,this);

    OverlayItem overlayItem = new OverlayItem(point, "", "");

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

    // Go through loaded arrays to display additional overlays
    drawable = this.getResources().getDrawable(R.drawable.mark_blue);
    itemizedOverlay = new MapItemizedOverlay(drawable, this);

    for(int r=0; r<10; r++)
        {
            GeoPoint point2 = new GeoPoint((int)(lat_coordinates[r]*1E6), (int)(lng_coordinates[r]*1E6));
            overlayItem = new OverlayItem(point2, "", "");
            itemizedOverlay.addOverlay(overlayItem);
            mapView.invalidate(); 
        }

    itemizedOverlay.addOverlay(overlayItem);
    mapOverlays.add(itemizedOverlay);
    mapView.invalidate();    
  }


// When the activity starts up, request updates 
@Override
protected void onResume() {
    super.onResume();
   locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10,
            1000*60*1, this);
}
//调用以检索和解析json数据
Intent i=新Intent(这个,HttpExample.class);
星触觉(i);
列出地图覆盖图;
mapOverlays=mapView.getOverlays();
mapView.getOverlays().clear();
//显示当前位置覆盖图
地质点=新的地质点((int)(纬度*1E6),(int)(纬度*1E6));
控制器。动画(点);
Drawable Drawable=this.getResources().getDrawable(R.Drawable.mark_red);
itemizedOverlay=新映射项mizedoverlay(可绘制,此);
OverlayItem OverlayItem=新的OverlayItem(点“,”);
itemizedOverlay.addOverlay(overlayItem);
添加(itemizedOverlay);
//浏览已加载的阵列以显示其他覆盖
drawable=this.getResources().getDrawable(R.drawable.mark_blue);
itemizedOverlay=新映射项mizedoverlay(可绘制,此);

对于(int r=0;rI,我在AsyncTask中添加了覆盖,并且没有添加

    @Override
    protected void onPostExecute(Void result) {
        mapView.invalidate();
    }
完成后显示覆盖层。
ides是:确保在添加所有覆盖后在UI线程中的MapView上调用invalidate()。

HttpExample类存储JSON数据的位置?可能您在第一次调用onCreate时没有数据,当您旋转屏幕onCreate时,会在数据已被解析时再次调用,以便获得结果。请提供更多详细信息。。。