我的地图工作正常。但是,我想添加一个卫星视图和我的普通视图?我怎样才能做到这一点?
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 :(得分:15)
尝试将地图图块的类型设置如下
mMap.setMapType(GoogleMap.MAP_TYPE_HYBRID);
答案 1 :(得分:11)
Google Maps API中提供了四种类型的地图。除了熟悉的“绘制”道路地图图块外,Google Maps API还支持其他地图类型。
Google Maps API提供以下地图类型:
MapTypeId.ROADMAP
显示默认道路地图视图。这是默认的地图类型。MapTypeId.SATELLITE
显示Google地球卫星图片MapTypeId.HYBRID
显示正常和卫星视图的混合MapTypeId.TERRAIN
根据地形信息显示实体地图。您可以通过设置MapTypeId属性来修改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
}
答案 2 :(得分:1)
使用以下功能设置卫星视图
setMapType(com.google.android.gms.maps.GoogleMap.MAP_TYPE_SATELLITE);