分类:C#、Android、VS2015、百度地图应用; 创建日期:2016-02-04
一、简介
简介:介绍开关手势功能和显示隐藏UI控件
详述:
(1)地图操作开关:平移、缩放、双击放大、双指操作(旋转度和俯视度);
(2)控件显示开关:显示/隐藏缩放按钮;
(3)指南针位置控制:显示在地图左上角或者右上角(仅举例),开发者可据实际情况任意改变位置;
(4)底图标注开关:控制显示/隐藏底图POI,隐藏POI可得到仅显示道路信息的地图
运行截图
在x86模拟器中的运行效果如下:
二、设计步骤
在上一节例子的基础上,只需要再增加下面的步骤即可。
1、添加demo07_uisetting.axml文件
在layout文件夹下添加该文件,将其改为下面的代码:
2、添加Demo07UISetting.cs文件
在SrcSdkDemos文件夹下添加该文件,然后将其内容改为下面的代码:
using Android.App;using Android.Content.PM;using Android.OS;using Android.Widget;using Com.Baidu.Mapapi.Map;namespace BdMapV371Demos.SrcSdkDemos{ ////// 演示地图UI控制功能 /// [Activity(ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden, Label = "@string/demo_name_ui", ScreenOrientation = ScreenOrientation.Sensor)] public class Demo07UISetting : Activity { private TextureMapView mMapView; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.demo07_uisetting); mMapView = FindViewById(Resource.Id.bmapView); BaiduMap mBaiduMap = mMapView.Map; mBaiduMap.SetMapStatus(MapStatusUpdateFactory.NewLatLng(MainActivity.HeNanUniversity)); UiSettings mUiSettings = mBaiduMap.UiSettings; MapStatus ms = new MapStatus.Builder().Overlook(-30).Build(); MapStatusUpdate u = MapStatusUpdateFactory.NewMapStatus(ms); mBaiduMap.AnimateMapStatus(u, 1000); var zoom= FindViewById (Resource.Id.zoom); zoom.CheckedChange += (s,e)=> { //是否启用缩放手势 mUiSettings.ZoomGesturesEnabled = e.IsChecked; }; var scroll = FindViewById (Resource.Id.scroll); scroll.CheckedChange += (s, e) => { //是否启用平移手势 mUiSettings.ScrollGesturesEnabled = e.IsChecked; }; var rotate = FindViewById (Resource.Id.rotate); rotate.CheckedChange += (s, e) => { //是否启用旋转手势 mUiSettings.RotateGesturesEnabled = e.IsChecked; }; var overlook = FindViewById (Resource.Id.overlook); overlook.CheckedChange += (s, e) => { //是否启用俯视手势 mUiSettings.OverlookingGesturesEnabled = e.IsChecked; }; var compass = FindViewById (Resource.Id.compass); compass.CheckedChange += (s, e) => { //是否启用指南针图层 mUiSettings.CompassEnabled = e.IsChecked; }; var mappoi = FindViewById (Resource.Id.mappoi); mappoi.CheckedChange += (s, e) => { //是否显示底图默认标注 mBaiduMap.ShowMapPoi(e.IsChecked); }; } protected override void OnPause() { mMapView.OnPause(); base.OnPause(); } protected override void OnResume() { mMapView.OnResume(); base.OnResume(); } protected override void OnDestroy() { mMapView.OnDestroy(); base.OnDestroy(); } }}
3、修改MainActivity.cs文件
在MainActivity.cs文件的demos字段定义中,去掉【示例7】下面的注释。
运行观察结果。