【Android】第3章(6)示例5--多地图展示

王朝学院·作者佚名  2016-08-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

分类:C#、Android、VS2015、百度地图应用; 创建日期:2016-02-04

3.5 示例5--多地图展示一、简介地图控件自v2.3.5版本起,支持多实例,即开发者可以在一个页面中建立多个地图对象,并且针对这些对象分别操作且不会产生相互干扰。

文件名:Demo04MultiMapView.cs

简介:介绍多MapView的使用

详述:在一个界面内,同时建立四个TextureMapView控件;

二、示例1、运行截图

在x86模拟器中的运行效果如下:

[flash=500,400]http://s1.knowsky.com/20160211/khn2pou10u312.png[/flash]

在上一节例子的基础上,只需要再增加下面的步骤即可。

2、添加demo05_multimap.axml文件

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

<?xml version="1.0"encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:map="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical">

<LinearLayout

android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginBottom="5dp"android:layout_weight="1"android:orientation="horizontal">

<fragment

android:id="@+id/map1"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginRight="5dp"android:layout_weight="1"class="com.baidu.mapapi.map.TextureMapFragment"/>

<fragment

android:id="@+id/map2"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"class="com.baidu.mapapi.map.TextureMapFragment"/>

</LinearLayout>

<LinearLayout

android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"android:orientation="horizontal">

<fragment

android:id="@+id/map3"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginRight="5dp"android:layout_weight="1"class="com.baidu.mapapi.map.TextureMapFragment"/>

<fragment

android:id="@+id/map4"android:layout_width="match_parent"android:layout_height="match_parent"android:layout_weight="1"class="com.baidu.mapapi.map.TextureMapFragment"/>

</LinearLayout>

</LinearLayout>

3、添加Demo05MultiMapView.cs文件

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

usingAndroid.App;usingAndroid.Content.PM;usingAndroid.OS;usingCom.Baidu.Mapapi.Map;usingCom.Baidu.Mapapi.Model;namespaceBdMapV371Demos.SrcSdkDemos

{///<summary>///在一个Activity中展示多个地图///</summary>[Activity(Label ="@string/demo_name_multimap",

ConfigurationChanges= ConfigChanges.Orientation |ConfigChanges.KeyboardHidden,

ScreenOrientation=ScreenOrientation.Sensor)]publicclassDemo05MutiMapView : Activity

{PRivatereadonlyLatLng Geo_BeiJing =newLatLng(39.945,116.404);privatereadonlyLatLng Geo_ShangHai =newLatLng(31.227,121.481);privatereadonlyLatLng Geo_GuangZhou =newLatLng(23.155,113.264);privatereadonlyLatLng Geo_ShenZhen =newLatLng(22.560,114.064);protectedoverridevoidOnCreate(Bundle savedInstanceState)

{base.OnCreate(savedInstanceState);

SetContentView(Resource.Layout.demo05_multimap);

InitMap();

}///<summary>///初始化Map///</summary>privatevoidInitMap()

{

MapStatusUpdate u1=MapStatusUpdateFactory.NewLatLng(Geo_BeiJing);

TextureMapFragment map1= FragmentManager.FindFragmentById<TextureMapFragment>(Resource.Id.map1);

map1.BaiduMap.SetMapStatus(u1);

MapStatusUpdate u2=MapStatusUpdateFactory.NewLatLng(Geo_ShangHai);

TextureMapFragment map2= FragmentManager.FindFragmentById<TextureMapFragment>(Resource.Id.map2);

map2.BaiduMap.SetMapStatus(u2);

MapStatusUpdate u3=MapStatusUpdateFactory.NewLatLng(Geo_GuangZhou);

TextureMapFragment map3= FragmentManager.FindFragmentById<TextureMapFragment>(Resource.Id.map3);

map3.BaiduMap.SetMapStatus(u3);

MapStatusUpdate u4=MapStatusUpdateFactory.NewLatLng(Geo_ShenZhen);

TextureMapFragment map4= FragmentManager.FindFragmentById<TextureMapFragment>(Resource.Id.map4);

map4.BaiduMap.SetMapStatus(u4);

}

}

}

4、修改MainActivity.cs文件

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

//示例5--多地图展示newDemoInfo<Activity>(Resource.String.demo_title_multimap,

Resource.String.demo_desc_multimap,newDemo05MutiMapView()),

运行观察结果。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航