BaiduMap---百度地圖官方Demo之UI控制功能(介紹開關手勢功能和顯示隱藏UI控制元件)
阿新 • • 發佈:2019-02-12
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="50dip" android:orientation="horizontal" > <CheckBox android:id="@+id/zoom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:checked="true" android:onClick="setZoomEnable" android:text="縮放" /> <CheckBox android:id="@+id/scroll" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:checked="true" android:onClick="setScrollEnable" android:text="平移" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="50dip" android:orientation="horizontal" > <CheckBox android:id="@+id/rotate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:checked="true" android:onClick="setRotateEnable" android:text="旋轉" /> <CheckBox android:id="@+id/overlook" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:checked="true" android:onClick="setOverlookEnable" android:text="俯視" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="50dip" android:orientation="horizontal" > <CheckBox android:id="@+id/compass" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:checked="true" android:onClick="setCompassEnable" android:text="開啟指南針" /> </LinearLayout> <com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:clickable="true" /> </LinearLayout>
/** * 演示地圖UI控制功能 * 介紹開關手勢功能和顯示隱藏UI控制元件 */ public class UISettingDemo extends Activity { /** * MapView 是地圖主控制元件 */ private MapView mMapView; private BaiduMap mBaiduMap; //UiSettings:百度地圖 UI 控制器 private UiSettings mUiSettings; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_uisetting); mMapView = (MapView) findViewById(R.id.bmapView); mBaiduMap = mMapView.getMap(); /** * getUiSettings():獲取地圖ui控制器 * */ mUiSettings = mBaiduMap.getUiSettings(); MapStatus ms = new MapStatus.Builder().overlook(-30).build(); MapStatusUpdate u = MapStatusUpdateFactory.newMapStatus(ms); mBaiduMap.animateMapStatus(u, 1000); } /** * 是否啟用縮放手勢 * * @param v */ public void setZoomEnable(View v) { /** *setZoomGesturesEnabled(boolean enabled):設定是否允許縮放手勢 * */ mUiSettings.setZoomGesturesEnabled(((CheckBox) v).isChecked()); } /** * 是否啟用平移手勢 * * @param v */ public void setScrollEnable(View v) { /** *setScrollGesturesEnabled(boolean enabled):設定是否允許拖拽手勢 * */ mUiSettings.setScrollGesturesEnabled(((CheckBox) v).isChecked()); } /** * 是否啟用旋轉手勢 * * @param v */ public void setRotateEnable(View v) { /** *setRotateGesturesEnabled(boolean enabled):設定是否允許旋轉手勢 * */ mUiSettings.setRotateGesturesEnabled(((CheckBox) v).isChecked()); } /** * 是否啟用俯視手勢 * * @param v */ public void setOverlookEnable(View v) { /** *setOverlookingGesturesEnabled(boolean enabled):設定是否允許俯視手勢 * */ mUiSettings.setOverlookingGesturesEnabled(((CheckBox) v).isChecked()); } /** * 是否啟用指南針圖層 * * @param v */ public void setCompassEnable(View v) { /** *setCompassEnabled(boolean enabled):設定是否允許指南針 * */ mUiSettings.setCompassEnabled(((CheckBox) v).isChecked()); } @Override protected void onPause() { // MapView的生命週期與Activity同步,當activity掛起時需呼叫MapView.onPause() mMapView.onPause(); super.onPause(); } @Override protected void onResume() { // MapView的生命週期與Activity同步,當activity恢復時需呼叫MapView.onResume() mMapView.onResume(); super.onResume(); } @Override protected void onDestroy() { // MapView的生命週期與Activity同步,當activity銷燬時需呼叫MapView.destroy() mMapView.onDestroy(); super.onDestroy(); } }