2015-12-18 6 views
4

Моя карта работает отлично. Однако, я хочу добавить спутниковый вид вместе с моим обычным видом? Как я могу это достичь?Как добавить спутниковый вид в андроид-студию?

public class MainActivity extends FragmentActivity implements OnMapReadyCallback { 


private GoogleMap mMap; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.map); 
    mapFragment.getMapAsync(this); 
} 



@Override 
public void onMapReady(GoogleMap googleMap) { 
    mMap = googleMap; 


    LatLng location = new LatLng(x,y); 
    mMap.addMarker(new MarkerOptions().position(ReduitBusStop).title("you are here!")); 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(location)); 
+0

попробовать добавить 'mMap.setMapType (mMap.MAP_TYPE_SATELLITE);' – Lal

+0

Используйте это - mMap.setMapType (mMap.MAP_TYPE_SATELLITE); – Shane

+0

@ Lal: теперь он позволяет просматривать только спутник. я хочу, чтобы оба они отображались по одному за раз – joey

ответ

5

В API Карт Google есть четыре типа карт. Помимо привычных «раскрашенных» дорожных карт, API Карт Google также поддерживает другие типы карт.

следующие типы карт доступны в API Google Maps:

  • MapTypeId.ROADMAP отображается по умолчанию вид дорожной карты. Это тип карты по умолчанию.
  • MapTypeId.SATELLITE отображает спутниковые снимки Google Earth
  • MapTypeId.HYBRID отображает смесь нормальных и спутниковых просмотров
  • MapTypeId.TERRAIN отображает физическую карту на основе информации о местности.

Чтобы изменить тип карты, используемый в карте, установив его свойство MapTypeId, либо в конструкторе с помощью настройки его параметров объекта карты, или позвонив по телефону setMapTypeId() метода карты. По умолчанию mapTypeID по умолчанию - MapTypeId.ROADMAP.

@Override 
public void onMapReady(GoogleMap googleMap) { 
    mMap = googleMap; 

    LatLng location = new LatLng(x,y); 
    mMap.addMarker(new MarkerOptions().position(ReduitBusStop).title("you are here!")); 
    mMap.moveCamera(CameraUpdateFactory.newLatLng(location)); 
    mMap.setMapType(mMap.MAP_TYPE_SATELLITE); // Here is where you set the map type 
} 
+0

Примечание: 'MAP_TYPE_SATELLITE' является статическим. – Leukipp

11

Попробуйте с установкой типа фрагментов карты, как показано ниже

 mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
Смежные вопросы