如何在android studio中添加卫星视图?

joe*_*oey 10 android view satellite

我的地图工作正常.但是,我想添加一个卫星视图和我的普通视图?我怎样才能实现这一目标?

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));
Run Code Online (Sandbox Code Playgroud)

Sac*_*inS 19

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

        mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
Run Code Online (Sandbox Code Playgroud)


Mr *_*bot 13

Google Maps API中提供了四种类型的地图.除了熟悉的"绘制"道路地图图块外,Google Maps API还支持其他地图类型.

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

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

您可以通过设置其mapTypeId属性来修改Map使用的地图类型,可以在构造函数中通过设置其Map选项对象,也可以通过调用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
}
Run Code Online (Sandbox Code Playgroud)

  • 很好的答案,你必须使用 GoogleMap.MAP_TYPE 而不是 mMap.MAP_TYPE (3认同)
  • 注意:`MAP_TYPE_SATELLITE` 是静态的。 (2认同)