Карты Google -> MapView -> создание конструктора -> RuntimeException

Я пытаюсь написать одно приложение для Google Maps.

Скажите, в чем моя ошибка?

Если пишешь вот так, все работает, карта загружена.

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 google maps android api вы разрешили только один MapView одновременно. Я полагаю, что вы создаете один экземпляр MapView в своем XML travel_map_activity, когда вы пытаетесь создать другой с

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

Вы получаете исключение. Попробуйте удалить MapView из XML, чтобы решить эту проблему.

Другие вопросы по тегам