2013-06-30 2 views
3

Я попытался создать меню на экране, где в меню отобразится карта в спутниковом режиме и местности.Просмотреть карту в режиме спутник и рельеф

Мой код:

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case MENU_MyLocation: 
    //startActivity(new Intent(this, MyLocation.class)); 
    return(true); 
    case MENU_LocationCar: 
    startActivity(new Intent(this, Gps.class)); 
    return(true); 
    case MENU_Satellite: 
     map.setMapType(GoogleMap.MAP_TYPE_SATELLITE); 
     return(true); 
    case MENU_Terrain: 
     map.setMapType(GoogleMap.MAP_TYPE_TERRAIN); 
    return(true); 
    } 

    return(super.onOptionsItemSelected(item)); 
} 
+0

поясните функциональность вы хотите достичь или вопрос вы столкнулись –

+0

я хочу приложение, которое я создал, чтобы показать карты в спутниковой и местности режиме. Вы можете мне помочь? – MadBoy

ответ

1

Вам необходимо обновить MapView после внесения изменений в его настройках, вызвав invalidate(). Так что ваш код будет выглядеть примерно так

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case MENU_MyLocation: 
    //startActivity(new Intent(this, MyLocation.class)); 
    return(true); 
    case MENU_LocationCar: 
    startActivity(new Intent(this, Gps.class)); 
    return(true); 
    case MENU_Satellite: 
     map.setMapType(GoogleMap.MAP_TYPE_SATELLITE); 
     map.invalidate(); 
     return(true); 
    case MENU_Terrain: 
     map.setMapType(GoogleMap.MAP_TYPE_TERRAIN); 
     map.invalidate(); 
    return(true); 
    } 

    return(super.onOptionsItemSelected(item)); 
} 
+0

Как обновить MapView? извините, я просто узнал об андроиде. – MadBoy

+0

Я просто попробовал, и это сработало, спасибо – MadBoy

+1

Я получаю «метод invalidate для GoogleMap не определен», поэтому это не сработало для меня. –

Смежные вопросы