16

我的地图工作正常。但是,我想在正常视图的同时添加卫星视图?我怎样才能做到这一点?

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));
4

3 回答 3

30

尝试如下设置地图图块的类型

        mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
于 2015-12-18T05:43:34.607 回答
23

Google Maps API 中有四种类型的地图可用。除了熟悉的“绘制”路线图图块外,Google Maps API 还支持其他地图类型。

Google Maps API 中提供了以下地图类型:

  • MapTypeId.ROADMAP显示默认的路线图视图。这是默认的地图类型。
  • MapTypeId.SATELLITE显示 Google 地球卫星图像
  • MapTypeId.HYBRID显示普通视图和卫星视图的混合
  • MapTypeId.TERRAIN显示基于地形信息的物理地图。

您可以通过设置其 mapTypeId 属性来修改 Map 使用的地图类型,或者在构造函数中通过设置其地图选项对象,或者通过调用地图的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
}
于 2015-12-18T05:25:54.737 回答
3

使用以下功能设置卫星视图 setMapType(com.google.android.gms.maps.GoogleMap.MAP_TYPE_SATELLITE);

于 2020-06-11T12:30:57.013 回答