2012-12-25 32 views
0

我尝试为Google Maps编写一个应用程序。Google Maps - > MapView - >创建构造函数 - > RuntimeException

告诉我,我的错误是什么?

如果你这样写,所有的作品,卡片都会被加载。

public class TravelMapActivity extends MapActivity { 
    private MapView mapView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.travel_map_activity); 
     mapView = (MapView)findViewById(R.id.travelMapView); 
    } 
} 

如果你创建一个构造函数,我在这里得到这些错误。

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.travel_map_activity); 
    mapView = new MapView(this, getResources().getString(R.string.google_maps_api_key)); 
} 


java.lang.RuntimeException: Unable to start activity ComponentInfo{de.ai.mi.maptrack/de.ai.mi.maptrack.activities.TravelMapActivity}: java.lang.IllegalStateException: You are only allowed to have a single MapView in a MapActivity 

Caused by: java.lang.IllegalStateException: You are only allowed to 
have a single MapView in a MapActivity 

感谢

回答

1

随着V1谷歌地图API的Android您只允许一个MapView的一次。你在你的XML travel_map_activity我猜实例化一个MapView的,所以当你尝试创建

mapView = new MapView(this, getResources().getString(R.string.google_maps_api_key)); 

另一个你得到的异常。尝试从XML中删除MapView来解决这个问题。

+0

)))谢谢,它的工作原理! – JDev

相关问题