分类:c#、android、vs2015、百度地图应用; 创建日期:2016-02-04
3.5 示例5--多地图展示一、简介地图控件自v2.3.5版本起,支持多实例,即开发者可以在一个页面中建立多个地图对象,并且针对这些对象分别操作且不会产生相互干扰。
文件名:demo04multimapview.cs
简介:介绍多mapview的使用
详述:在一个界面内,同时建立四个texturemapview控件;
二、示例1、运行截图
在x86模拟器中的运行效果如下:
在上一节例子的基础上,只需要再增加下面的步骤即可。
2、添加demo05_multimap.axml文件
在layout文件夹下添加该文件,将其改为下面的代码:
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 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 />
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{ /// /// 在一个activity中展示多个地图 /// [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(); } /// /// 初始化map /// private void initmap() { mapstatusupdate u1 = mapstatusupdatefactory.newlatlng(geo_beijing); texturemapfragment map1 = fragmentmanager.findfragmentbyid(resource.id.map1); map1.baidumap.setmapstatus(u1); mapstatusupdate u2 = mapstatusupdatefactory.newlatlng(geo_shanghai); texturemapfragment map2 = fragmentmanager.findfragmentbyid(resource.id.map2); map2.baidumap.setmapstatus(u2); mapstatusupdate u3 = mapstatusupdatefactory.newlatlng(geo_guangzhou); texturemapfragment map3 = fragmentmanager.findfragmentbyid(resource.id.map3); map3.baidumap.setmapstatus(u3); mapstatusupdate u4 = mapstatusupdatefactory.newlatlng(geo_shenzhen); texturemapfragment map4 = fragmentmanager.findfragmentbyid(resource.id.map4); map4.baidumap.setmapstatus(u4); } }}
4、修改mainactivity.cs文件
在mainactivity.cs文件的demos字段定义中添加下面的代码。
//示例5--多地图展示 new demoinfo(resource.string.demo_title_multimap, resource.string.demo_desc_multimap, new demo05mutimapview()),
运行观察结果。
