C#开发Android百度地图手机应用程序(多地图展示)
程序员文章站
2023-09-07 19:46:02
一、简介
地图控件自v2.3.5版本起,支持多实例,即开发者可以在一个页面中建立多个地图对象,并且针对这些对象分别操作且不会产生相互干扰。
文件名:demo04...
一、简介
地图控件自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="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文件夹下添加该文件,然后将其内容改为下面的代码:
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()),
以上所述给大家介绍了c#开发android百度地图手机应用程序(多地图展示)的相关内容,希望对大家有所帮助。
下一篇: C#运行时相互关系浅析