搜尋
首頁php教程php手册【Android】第3章(7)地图基本控制方法

分类: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模拟器中的运行效果如下:

image

二、设计步骤

1、添加demo06_mapcontrol.axml

在layout文件夹下添加该文件,将其改为下面的代码:

<?xml version=<span style="color: #800000;">"<span style="color: #800000;">1.0</span><span style="color: #800000;">"</span> encoding=<span style="color: #800000;">"</span><span style="color: #800000;">utf-8</span><span style="color: #800000;">"</span>?>
<linearlayout xmlns:android="<span" style="color: #800000;">"<span style="color: #800000;">http://schemas.android.com/apk/res/android</span><span style="color: #800000;">"</span><span style="color: #000000;">
    android:layout_width</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
    android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
    android:orientation</span>=<span style="color: #800000;">"</span><span style="color: #800000;">vertical</span><span style="color: #800000;">"</span> >

    LinearLayout
        android:layout_width=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
        android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">50dip</span><span style="color: #800000;">"</span><span style="color: #000000;">
        android:orientation</span>=<span style="color: #800000;">"</span><span style="color: #800000;">horizontal</span><span style="color: #800000;">"</span> >

        Button
            android:id=<span style="color: #800000;">"</span><span style="color: #800000;">@+id/zoombutton</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_width</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">wrap_content</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_weight</span>=<span style="color: #800000;">"</span><span style="color: #800000;">1</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:text</span>=<span style="color: #800000;">"</span><span style="color: #800000;">缩放</span><span style="color: #800000;">"</span> />

        EditText
            android:id=<span style="color: #800000;">"</span><span style="color: #800000;">@+id/zoomlevel</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_width</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">wrap_content</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_weight</span>=<span style="color: #800000;">"</span><span style="color: #800000;">1</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:text</span>=<span style="color: #800000;">"</span><span style="color: #800000;">10</span><span style="color: #800000;">"</span> />

        Button
            android:id=<span style="color: #800000;">"</span><span style="color: #800000;">@+id/rotatebutton</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_width</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">wrap_content</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_weight</span>=<span style="color: #800000;">"</span><span style="color: #800000;">1</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:text</span>=<span style="color: #800000;">"</span><span style="color: #800000;">旋转</span><span style="color: #800000;">"</span> />

        EditText
            android:id=<span style="color: #800000;">"</span><span style="color: #800000;">@+id/rotateangle</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_width</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">wrap_content</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_weight</span>=<span style="color: #800000;">"</span><span style="color: #800000;">1</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:text</span>=<span style="color: #800000;">"</span><span style="color: #800000;">90</span><span style="color: #800000;">"</span> />

        Button
            android:id=<span style="color: #800000;">"</span><span style="color: #800000;">@+id/overlookbutton</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_width</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">wrap_content</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_weight</span>=<span style="color: #800000;">"</span><span style="color: #800000;">1</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:text</span>=<span style="color: #800000;">"</span><span style="color: #800000;">俯视</span><span style="color: #800000;">"</span> />

        EditText
            android:id=<span style="color: #800000;">"</span><span style="color: #800000;">@+id/overlookangle</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_width</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">wrap_content</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_weight</span>=<span style="color: #800000;">"</span><span style="color: #800000;">1</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:text</span>=<span style="color: #800000;">"</span><span style="color: #800000;">-30</span><span style="color: #800000;">"</span> />
    </linearlayout>

    TextView
        android:id=<span style="color: #800000;">"</span><span style="color: #800000;">@+id/state</span><span style="color: #800000;">"</span><span style="color: #000000;">
        android:layout_width</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
        android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">wrap_content</span><span style="color: #800000;">"</span><span style="color: #000000;">
        android:lines</span>=<span style="color: #800000;">"</span><span style="color: #800000;">3</span><span style="color: #800000;">"</span><span style="color: #000000;">
        android:text</span>=<span style="color: #800000;">"</span><span style="color: #800000;">点击、长按、双击地图以获取经纬度和地图状态</span><span style="color: #800000;">"</span> />

    RelativeLayout
        android:layout_width=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
        android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
        android:orientation</span>=<span style="color: #800000;">"</span><span style="color: #800000;">vertical</span><span style="color: #800000;">"</span> >

        com.baidu.mapapi.map.TextureMapView
            android:id=<span style="color: #800000;">"</span><span style="color: #800000;">@+id/bmapView</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_width</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">fill_parent</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:clickable</span>=<span style="color: #800000;">"</span><span style="color: #800000;">true</span><span style="color: #800000;">"</span> />

        Button
            android:id=<span style="color: #800000;">"</span><span style="color: #800000;">@+id/savescreen</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_width</span>=<span style="color: #800000;">"</span><span style="color: #800000;">wrap_content</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_height</span>=<span style="color: #800000;">"</span><span style="color: #800000;">wrap_content</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_alignParentRight</span>=<span style="color: #800000;">"</span><span style="color: #800000;">true</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_alignParentTop</span>=<span style="color: #800000;">"</span><span style="color: #800000;">true</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:layout_marginTop</span>=<span style="color: #800000;">"</span><span style="color: #800000;">10dip</span><span style="color: #800000;">"</span><span style="color: #000000;">
            android:text</span>=<span style="color: #800000;">"</span><span style="color: #800000;">截图</span><span style="color: #800000;">"</span> />
    

 

2、添加Demo06MapControl.cs

在SrcSdkDemos文件夹下添加该文件,然后将其内容改为下面的代码:

<span style="color: #0000ff;">using</span><span style="color: #000000;"> Android.App;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> Android.Content.PM;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> Android.Graphics;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> Android.OS;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> Android.Widget;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> Com.Baidu.Mapapi.Map;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> Com.Baidu.Mapapi.Model;
</span><span style="color: #0000ff;">using</span><span style="color: #000000;"> System.IO;

</span><span style="color: #0000ff;">namespace</span><span style="color: #000000;"> BdMapV371Demos.SrcSdkDemos
{
    </span><span style="color: #808080;">///</span> <span style="color: #808080;"><summary></summary></span>
    <span style="color: #808080;">///</span><span style="color: #008000;"> 演示地图缩放,旋转,视角控制
    </span><span style="color: #808080;">///</span> <span style="color: #808080;"></span>
    [Activity(Label = <span style="color: #800000;">"</span><span style="color: #800000;">@string/demo_name_control</span><span style="color: #800000;">"</span><span style="color: #000000;">,
        ConfigurationChanges </span>= ConfigChanges.Orientation |<span style="color: #000000;"> ConfigChanges.KeyboardHidden,
        ScreenOrientation </span>=<span style="color: #000000;"> ScreenOrientation.Sensor)]
    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> Demo06MapControl : Activity,
        BaiduMap.IOnMapClickListener, BaiduMap.IOnMapLongClickListener,
        BaiduMap.IOnMapDoubleClickListener, BaiduMap.IOnMapStatusChangeListener,
        BaiduMap.ISnapshotReadyCallback
    {
        </span><span style="color: #0000ff;">PRivate</span><span style="color: #000000;"> TextureMapView mMapView;
        </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> BaiduMap mBaiduMap;

        </span><span style="color: #808080;">///</span> <span style="color: #808080;"><summary></summary></span>
        <span style="color: #808080;">///</span><span style="color: #008000;"> 当前地点击点
        </span><span style="color: #808080;">///</span> <span style="color: #808080;"></span>
        <span style="color: #0000ff;">private</span><span style="color: #000000;"> LatLng currentPt;

        </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">string</span><span style="color: #000000;"> touchType;

        </span><span style="color: #808080;">///</span> <span style="color: #808080;"><summary></summary></span>
        <span style="color: #808080;">///</span><span style="color: #008000;"> 用于显示地图状态的面板
        </span><span style="color: #808080;">///</span> <span style="color: #808080;"></span>
        <span style="color: #0000ff;">private</span><span style="color: #000000;"> TextView mStateBar;

        </span><span style="color: #0000ff;">protected</span> <span style="color: #0000ff;">override</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> OnCreate(Bundle savedInstanceState)
        {
            </span><span style="color: #0000ff;">base</span><span style="color: #000000;">.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.demo06_mapcontrol);

            mMapView </span>= FindViewById<texturemapview><span style="color: #000000;">(Resource.Id.bmapView);
            mBaiduMap </span>=<span style="color: #000000;"> mMapView.Map;
            mBaiduMap.SetMapStatus(MapStatusUpdateFactory.NewLatLng(MainActivity.HeNanUniversity));

            mStateBar </span>= FindViewById<textview><span style="color: #000000;">(Resource.Id.state);
            mBaiduMap.SetOnMapClickListener(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">);
            mBaiduMap.SetOnMapLongClickListener(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">);
            mBaiduMap.SetOnMapDoubleClickListener(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">);
            mBaiduMap.SetOnMapStatusChangeListener(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">);

            </span><span style="color: #0000ff;">var</span> btnZoom = FindViewById<button><span style="color: #000000;">(Resource.Id.zoombutton);
            btnZoom.Click </span>+= <span style="color: #0000ff;">delegate</span><span style="color: #000000;">
            {
                </span><span style="color: #008000;">//</span><span style="color: #008000;">处理缩放 sdk 缩放级别范围: [3.0, 19.0]</span>
                EditText t = FindViewById<edittext><span style="color: #000000;">(Resource.Id.zoomlevel);
                </span><span style="color: #0000ff;">try</span><span style="color: #000000;">
                {
                    </span><span style="color: #0000ff;">float</span> zoomLevel = <span style="color: #0000ff;">float</span><span style="color: #000000;">.Parse(t.Text);
                    MapStatusUpdate u </span>=<span style="color: #000000;"> MapStatusUpdateFactory.ZoomTo(zoomLevel);
                    mBaiduMap.AnimateMapStatus(u);
                }
                </span><span style="color: #0000ff;">catch</span><span style="color: #000000;">
                {
                    Toast.MakeText(</span><span style="color: #0000ff;">this</span>, <span style="color: #800000;">"</span><span style="color: #800000;">请输入正确的缩放级别</span><span style="color: #800000;">"</span><span style="color: #000000;">, ToastLength.Short).Show();
                }
                UpdateMapState();
            };

            </span><span style="color: #0000ff;">var</span> btnRotate = FindViewById<button><span style="color: #000000;">(Resource.Id.rotatebutton);
            btnRotate.Click </span>+= <span style="color: #0000ff;">delegate</span><span style="color: #000000;">
            {
                </span><span style="color: #008000;">//</span><span style="color: #008000;">处理旋转。旋转角范围:-180~180 , 单位:度,逆时针旋转</span>
                EditText t = FindViewById<edittext><span style="color: #000000;">(Resource.Id.rotateangle);
                </span><span style="color: #0000ff;">try</span><span style="color: #000000;">
                {
                    </span><span style="color: #0000ff;">int</span> rotateAngle = <span style="color: #0000ff;">int</span><span style="color: #000000;">.Parse(t.Text);
                    MapStatus ms </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> MapStatus.Builder(mBaiduMap.MapStatus).Rotate(rotateAngle).Build();
                    MapStatusUpdate u </span>=<span style="color: #000000;"> MapStatusUpdateFactory.NewMapStatus(ms);
                    mBaiduMap.AnimateMapStatus(u);
                }
                </span><span style="color: #0000ff;">catch</span><span style="color: #000000;">
                {
                    Toast.MakeText(</span><span style="color: #0000ff;">this</span>, <span style="color: #800000;">"</span><span style="color: #800000;">请输入正确的旋转角度</span><span style="color: #800000;">"</span><span style="color: #000000;">, ToastLength.Short).Show();
                }
                UpdateMapState();
            };

            </span><span style="color: #0000ff;">var</span> btnOverlook = FindViewById<button><span style="color: #000000;">(Resource.Id.overlookbutton);
            btnOverlook.Click </span>+= <span style="color: #0000ff;">delegate</span><span style="color: #000000;">
            {
                </span><span style="color: #008000;">//</span><span style="color: #008000;">处理俯视。俯角范围:-45~0, 单位:度</span>
                EditText t = FindViewById<edittext><span style="color: #000000;">(Resource.Id.overlookangle);
                </span><span style="color: #0000ff;">try</span><span style="color: #000000;">
                {
                    </span><span style="color: #0000ff;">int</span> overlookAngle = <span style="color: #0000ff;">int</span><span style="color: #000000;">.Parse(t.Text);
                    MapStatus ms </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> MapStatus.Builder(mBaiduMap.MapStatus).Overlook(overlookAngle).Build();
                    MapStatusUpdate u </span>=<span style="color: #000000;"> MapStatusUpdateFactory.NewMapStatus(ms);
                    mBaiduMap.AnimateMapStatus(u);
                }
                </span><span style="color: #0000ff;">catch</span><span style="color: #000000;">
                {
                    Toast.MakeText(</span><span style="color: #0000ff;">this</span>, <span style="color: #800000;">"</span><span style="color: #800000;">请输入正确的俯角</span><span style="color: #800000;">"</span><span style="color: #000000;">, ToastLength.Short).Show();
                }
                UpdateMapState();
            };

            </span><span style="color: #0000ff;">var</span> btnSaveScreen = FindViewById<button><span style="color: #000000;">(Resource.Id.savescreen);
            btnSaveScreen.Click </span>+= <span style="color: #0000ff;">delegate</span><span style="color: #000000;">
            {
                </span><span style="color: #008000;">//</span><span style="color: #008000;"> 截图(在SnapshotReadyCallback中保存图片到sd卡)</span>
                mBaiduMap.Snapshot(<span style="color: #0000ff;">this</span><span style="color: #000000;">);
                Toast.MakeText(</span><span style="color: #0000ff;">this</span>, <span style="color: #800000;">"</span><span style="color: #800000;">正在截取屏幕图片...</span><span style="color: #800000;">"</span><span style="color: #000000;">, ToastLength.Short).Show();
                UpdateMapState();
            };
        }

        </span><span style="color: #0000ff;">#region</span> 实现BaiduMap.IOnMapClickListener接口
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> OnMapClick(LatLng p0)
        {
            touchType </span>= <span style="color: #800000;">"</span><span style="color: #800000;">单击</span><span style="color: #800000;">"</span><span style="color: #000000;">;
            currentPt </span>=<span style="color: #000000;"> p0;
            UpdateMapState();
        }

        </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">bool</span><span style="color: #000000;"> OnMapPoiClick(MapPoi p0)
        {
            </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">false</span><span style="color: #000000;">;
        }
        </span><span style="color: #0000ff;">#endregion</span>

        <span style="color: #0000ff;">#region</span> 实现BaiduMap.IOnMapLongClickListener接口
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> OnMapLongClick(LatLng p0)
        {
            touchType </span>= <span style="color: #800000;">"</span><span style="color: #800000;">长按</span><span style="color: #800000;">"</span><span style="color: #000000;">;
            currentPt </span>=<span style="color: #000000;"> p0;
            UpdateMapState();
        }
        </span><span style="color: #0000ff;">#endregion</span>

        <span style="color: #0000ff;">#region</span> 实现BaiduMap.IOnMapDoubleClickListener接口
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> OnMapDoubleClick(LatLng p0)
        {
            touchType </span>= <span style="color: #800000;">"</span><span style="color: #800000;">双击</span><span style="color: #800000;">"</span><span style="color: #000000;">;
            currentPt </span>=<span style="color: #000000;"> p0;
            UpdateMapState();
        }
        </span><span style="color: #0000ff;">#endregion</span>

        <span style="color: #0000ff;">#region</span> 实现BaiduMap.IOnMapStatusChangeListener接口
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> OnMapStatusChange(MapStatus p0)
        {
            UpdateMapState();
        }

        </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> OnMapStatusChangeFinish(MapStatus p0)
        {
            UpdateMapState();
        }

        </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> OnMapStatusChangeStart(MapStatus p0)
        {
            UpdateMapState();
        }
        </span><span style="color: #0000ff;">#endregion</span>

        <span style="color: #0000ff;">#region</span> 实现BaiduMap.ISnapshotReadyCallback接口
        <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> OnSnapshotReady(Bitmap p0)
        {
            </span><span style="color: #0000ff;">string</span> file = <span style="color: #800000;">"</span><span style="color: #800000;">/mnt/sdcard/test.png</span><span style="color: #800000;">"</span><span style="color: #000000;">;
            FileStream outX;
            </span><span style="color: #0000ff;">try</span><span style="color: #000000;">
            {
                outX </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> FileStream(file, FileMode.Create);
                </span><span style="color: #0000ff;">if</span><span style="color: #000000;"> (p0.Compress(
                        Bitmap.CompressFormat.Png, </span><span style="color: #800080;">100</span><span style="color: #000000;">, outX))
                {
                    outX.Flush();
                    outX.Close();
                }
                Toast.MakeText(</span><span style="color: #0000ff;">this</span><span style="color: #000000;">,
                        </span><span style="color: #800000;">"</span><span style="color: #800000;">屏幕截图成功,图片保存在: </span><span style="color: #800000;">"</span> +<span style="color: #000000;"> file.ToString(),
                        ToastLength.Short).Show();
            }
            </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (FileNotFoundException e)
            {
                </span><span style="color: #0000ff;">throw</span><span style="color: #000000;"> e;
            }
            </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (IOException e)
            {
                </span><span style="color: #0000ff;">throw</span><span style="color: #000000;"> e;
            }
        }
        </span><span style="color: #0000ff;">#endregion</span>

        <span style="color: #808080;">///</span> <span style="color: #808080;"><summary></summary></span>
        <span style="color: #808080;">///</span><span style="color: #008000;"> 更新地图状态显示面板
        </span><span style="color: #808080;">///</span> <span style="color: #808080;"></span>
        <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> UpdateMapState()
        {
            </span><span style="color: #0000ff;">if</span> (mStateBar == <span style="color: #0000ff;">null</span><span style="color: #000000;">)
            {
                </span><span style="color: #0000ff;">return</span><span style="color: #000000;">;
            }
            </span><span style="color: #0000ff;">string</span> state = <span style="color: #800000;">""</span><span style="color: #000000;">;
            </span><span style="color: #0000ff;">if</span> (currentPt == <span style="color: #0000ff;">null</span><span style="color: #000000;">)
            {
                state </span>= <span style="color: #800000;">"</span><span style="color: #800000;">点击、长按、双击地图以获取经纬度和地图状态</span><span style="color: #800000;">"</span><span style="color: #000000;">;
            }
            </span><span style="color: #0000ff;">else</span><span style="color: #000000;">
            {
                state </span>= <span style="color: #0000ff;">string</span>.Format(touchType + <span style="color: #800000;">"</span><span style="color: #800000;">,当前经度:{0:f6} 当前纬度:{1:f6}</span><span style="color: #800000;">"</span><span style="color: #000000;">,
                        currentPt.Longitude, currentPt.Latitude);
            }
            state </span>+= <span style="color: #800000;">"</span><span style="color: #800000;">\n</span><span style="color: #800000;">"</span><span style="color: #000000;">;
            MapStatus ms </span>=<span style="color: #000000;"> mBaiduMap.MapStatus;
            state </span>+= <span style="color: #0000ff;">string</span>.Format(<span style="color: #800000;">"</span><span style="color: #800000;">zoom={0:f2},rotate={1:d},overlook={2:d}</span><span style="color: #800000;">"</span><span style="color: #000000;">,
                    ms.Zoom, (</span><span style="color: #0000ff;">int</span>)ms.Rotate, (<span style="color: #0000ff;">int</span><span style="color: #000000;">)ms.Overlook);
            mStateBar.Text </span>=<span style="color: #000000;"> state;
        }

        </span><span style="color: #0000ff;">protected</span> <span style="color: #0000ff;">override</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> OnPause()
        {
            mMapView.OnPause();
            </span><span style="color: #0000ff;">base</span><span style="color: #000000;">.OnPause();
        }

        </span><span style="color: #0000ff;">protected</span> <span style="color: #0000ff;">override</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> OnResume()
        {
            mMapView.OnResume();
            </span><span style="color: #0000ff;">base</span><span style="color: #000000;">.OnResume();
        }

        </span><span style="color: #0000ff;">protected</span> <span style="color: #0000ff;">override</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> OnDestroy()
        {
            mMapView.OnDestroy();
            </span><span style="color: #0000ff;">base</span><span style="color: #000000;">.OnDestroy();
        }
    }
}</span></button></edittext></button></edittext></button></edittext></button></textview></texturemapview>

3、修改MainActivity.cs

在MainActivity.cs文件的demos字段定义中添加下面的代码。

<span style="color: #008000;">          //</span><span style="color: #008000;">示例6--地图操作功能</span>
            <span style="color: #0000ff;">new</span> DemoInfo<activity><span style="color: #000000;">(Resource.String.demo_title_control,
                Resource.String.demo_desc_control,
                </span><span style="color: #0000ff;">new</span> Demo06MapControl()),</activity>

 

运行观察结果。


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),