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

3.5 示例5--多地图展示

一、简介

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

文件名:Demo04MultiMapView.cs

简介:介绍多MapView的使用

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

二、示例

1、运行截图

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

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

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=""
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=""
class="com.baidu.mapapi.map.TextureMapFragment" /> <fragment
android:id="@+id/map2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=""
class="com.baidu.mapapi.map.TextureMapFragment" />
</LinearLayout> <LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=""
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=""
class="com.baidu.mapapi.map.TextureMapFragment" /> <fragment
android:id="@+id/map4"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight=""
class="com.baidu.mapapi.map.TextureMapFragment" />
</LinearLayout> </LinearLayout>

3、添加Demo05MultiMapView.cs文件

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

using Android.App;
using Android.Content.PM;
using Android.OS;
using Com.Baidu.Mapapi.Map;
using Com.Baidu.Mapapi.Model; namespace BdMapV371Demos.SrcSdkDemos
{
/// <summary>
/// 在一个Activity中展示多个地图
/// </summary>
[Activity(Label = "@string/demo_name_multimap",
ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden,
ScreenOrientation = ScreenOrientation.Sensor)]
public class Demo05MutiMapView : Activity
{
private readonly LatLng Geo_BeiJing = new LatLng(39.945, 116.404);
private readonly LatLng Geo_ShangHai = new LatLng(31.227, 121.481);
private readonly LatLng Geo_GuangZhou = new LatLng(23.155, 113.264);
private readonly LatLng Geo_ShenZhen = new LatLng(22.560, 114.064); protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.demo05_multimap);
InitMap();
} /// <summary>
/// 初始化Map
/// </summary>
private void InitMap()
{
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--多地图展示
new DemoInfo<Activity>(Resource.String.demo_title_multimap,
Resource.String.demo_desc_multimap,
new Demo05MutiMapView()),

运行观察结果。

最新文章

  1. C#开发微信门户及应用(11)--微信菜单的多种表现方式介绍
  2. 关于java对Excel的读取
  3. jquery层级原则器(匹配前一个元素后的下一个元素,必须是挨着的)
  4. ftl文件格式化jsp形式显示
  5. Cheatsheet: 2013 10.01 ~ 10.08
  6. Codeforces Round #250 (Div. 2)——The Child and Set
  7. 【转】十二个移动App云测试服务盘点
  8. codevs3013单词背诵
  9. C#中的委托和游戏中的运用
  10. 写一个Windows上的守护进程(6)Windows服务
  11. DataGridView绑定数据源
  12. centos7安装nodejs
  13. [解决问题] E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
  14. Lucene 源码分析之倒排索引(三)
  15. python,&lt;一&gt;读取文件open()
  16. Go之viper配置
  17. NoHttp封装--05 文件下载
  18. tomcat调试之固定步骤自动化
  19. Spring MVC 异常处理 - SimpleMappingExceptionResolver
  20. python中if __name__ == &#39;__main__&#39;的说明

热门文章

  1. android中的数据库操作(SQLite)
  2. ubuntu server vsftpd 虚拟用户及目录
  3. GraphQL返回分页对象
  4. 为什么学习Python及Python环境安装
  5. RPM 命令大全
  6. How to Analyze Java Thread Dumps
  7. WebStorm配置
  8. ipa 打包遇到的坑
  9. 了解NoSQL
  10. Fail Fast and Fail Safe Iterators in Java