0

我在谷歌地图工作...

我做了波纹管应用程序,它工作正常然后突然停止工作,我从一开始就跟踪它,我发现当我添加

 mapOverlays = mapView.getOverlays();

应用程序停止工作...

我需要帮助

public class MapGtugActivity extends MapActivity implements OnClickListener  {
MapView mapView ; 
MyLocationOverlay compass ; 
MapController controller ; 
Drawable drawable ; 
Drawable drawable2 ; 
List<Overlay> mapOverlays ; 
GeoPoint point1 ; 
GeoPoint point2 ; 
GeoPoint point3 ;
MapItemizedOverlay custom ; 
MapItemizedOverlay custom2 ; 
//List <GeoPoint> LGP ; 
 GeoPoint LGP[] = new GeoPoint[6] ; 
 Button AddLayers ; 

 int x , y ; 
 GeoPoint touchedpoint ;
 long start ; 
 long stop ;



   CharSequence[] items = {"Layer1", "Layer2"};
   boolean[] itemsChecked = new boolean[items.length];



/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    MapView mapview = (MapView) findViewById(R.id.mapview) ;
    mapview.setBuiltInZoomControls(true) ; 

    mapOverlays = mapView.getOverlays();




}

@Override
protected boolean isRouteDisplayed() {
    // TODO Auto-generated method stub
    return false;
}

public void onClick(View v) {
    // TODO Auto-generated method stub

}

}

4

1 回答 1

0

您只能在添加叠加层后调用 getOverlays。我认为它在那时返回 nullpointerException(因为你在 onCreate 中调用它)。因为当 getOverlays() 被调用时,你的地图上没有定义覆盖来获取它。

于 2012-07-17T07:25:43.367 回答