分类:c#、android、vs2015、百度地图应用; 创建日期:2016-02-04 一、简介 文件名:Demo05MapControl.cs 简介:介绍平移和缩放地图,双指操作地图,监听地图点击事件 详述: (1)介绍地图缩放级别、旋转度和俯视度的get和set方法; (2)监听单击和长按地
分类:c#、android、vs2015、百度地图应用; 创建日期:2016-02-04
一、简介
文件名:Demo05MapControl.cs
简介:介绍平移和缩放地图,双指操作地图,监听地图点击事件
详述:
(1)介绍地图缩放级别、旋转度和俯视度的get和set方法;
(2)监听单击和长按地图事件;
(3)单击、双击和长按地图获取该点的经纬度坐标;
(4)对地图显示内容进行截图,截图保存地址为:/mnt/sdcard/test.png;
运行截图
在x86模拟器中的运行效果如下:

二、设计步骤
1、添加demo06_mapcontrol.axml
在layout文件夹下添加该文件,将其改为下面的代码:
"1.0" encoding="utf-8"?>"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" > <Button android:id="@+id/zoombutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="缩放" /> <EditText android:id="@+id/zoomlevel" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="10" /> <Button android:id="@+id/rotatebutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="旋转" /> <EditText android:id="@+id/rotateangle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="90" /> <Button android:id="@+id/overlookbutton" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="俯视" /> <EditText android:id="@+id/overlookangle" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="-30" /> <TextView android:id="@+id/state" android:layout_width="fill_parent" android:layout_height="wrap_content" android:lines="3" android:text="点击、长按、双击地图以获取经纬度和地图状态" /> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <com.baidu.mapapi.map.TextureMapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" /> <Button android:id="@+id/savescreen" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_marginTop="10dip" android:text="截图" />
2、添加Demo06MapControl.cs
在SrcSdkDemos文件夹下添加该文件,然后将其内容改为下面的代码:
using Android.App; using Android.Content.PM; using Android.Graphics; using Android.OS; using Android.Widget; using Com.Baidu.Mapapi.Map; using Com.Baidu.Mapapi.Model; using System.IO; namespace BdMapV371Demos.SrcSdkDemos { ////// 演示地图缩放,旋转,视角控制 /// [Activity(Label = "@string/demo_name_control", ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden, ScreenOrientation = ScreenOrientation.Sensor)] public class Demo06MapControl : Activity, BaiduMap.IOnMapClickListener, BaiduMap.IOnMapLongClickListener, BaiduMap.IOnMapDoubleClickListener, BaiduMap.IOnMapStatusChangeListener, BaiduMap.ISnapshotReadyCallback { PRivate TextureMapView mMapView; private BaiduMap mBaiduMap; /// /// 当前地点击点 /// private LatLng currentPt; private string touchType; /// /// 用于显示地图状态的面板 /// private TextView mStateBar; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.demo06_mapcontrol); mMapView = FindViewById (Resource.Id.bmapView); mBaiduMap = mMapView.Map; mBaiduMap.SetMapStatus(MapStatusUpdateFactory.NewLatLng(MainActivity.HeNanUniversity)); mStateBar = FindViewById (Resource.Id.state); mBaiduMap.SetOnMapClickListener(this); mBaiduMap.SetOnMapLongClickListener(this); mBaiduMap.SetOnMapDoubleClickListener(this); mBaiduMap.SetOnMapStatusChangeListener(this); var btnZoom = FindViewById
3、修改MainActivity.cs
在MainActivity.cs文件的demos字段定义中添加下面的代码。
//示例6--地图操作功能 new DemoInfo(Resource.String.demo_title_control, Resource.String.demo_desc_control, new Demo06MapControl()),
运行观察结果。










