Google Map:以编程方式在地图上设置视角

时间:2016-05-12 02:06:34

标签: android google-maps

我是Android上的Google Map API新手。 我有一个默认位置,当我点击启动谷歌地图时,它会在3D视图中显示位置(左侧的屏幕截图),但我实际上更喜欢右侧的屏幕截图(备注:与放大问题无关)

如何在Android中以编程方式设置首选项?

MapFragment mapFragment = (MapFragment)getFragmentManager().findFragmentById(R.id.map_fragment);
mMap=mapFragment.getMap();

mMap.setMyLocationEnabled(true);
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(mPosition, 13));
CameraUpdate zoom = CameraUpdateFactory.zoomTo(18);
mMap.animateCamera(zoom);

mMarker=mMap.addMarker(setMarkerOptions(markerTitle,markerMsg,mPosition));
mMarker.setDraggable(true);
}


private MarkerOptions setMarkerOptions(String title,String msg,LatLng position){
 MarkerOptions options=new MarkerOptions(); 

options.title(title);
options.snippet(msg);
options.position(position);

return options;
}

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为你的目标是改变地图Tilt (viewing angle)。您可以在调用mMap.animateCamera之前设置部件的倾斜度。在Google地图的相机和视图文档中,它包含在Change the Camera Position

的方法中
  

更改相机位置

     

共同的位置变化有两种方便的方法。 CameraUpdateFactory.newLatLng(LatLng)为您提供CameraUpdate,可以更改相机的纬度和经度,同时保留所有其他属性。 CameraUpdateFactory.newLatLngZoom(LatLng,float)为您提供CameraUpdate,可以更改相机的纬度,经度和变焦,同时保留所有其他属性。

     

为了充分灵活地更改相机位置,请使用CameraUpdateFactory.newCameraPosition(CameraPosition),它为您提供将相机移动到给定位置的CameraUpdate。可以使用新的CameraPosition()直接获取CameraPosition,也可以使用新的CameraPosition.Builder()获取CameraPosition.Builder。

我专门链接了CameraPosition对象,因为它有一个允许你提供float tilt值的构造函数。

我不完全确定这是否是唯一的方法,但请查看文档,我很确定您会从那里找到您需要的内容。干杯! :d