Android百度地图应用之图层展示

Android百度地图应用之图层展示,第1张

概述一、简介 1、地图类型 百度地图AndroidSDK3.7.1提供了两种类型的地图资源(普通矢量地图和卫星图),开发者可以利用BaiduMap中的MapType属性(C#)来设置地图类型。C#核心代码如下: 

一、简介
 1、地图类型
 百度地图AndroID SDK 3.7.1提供了两种类型的地图资源(普通矢量地图和卫星图),开发者可以利用BaIDuMap中的MapType属性(C#)来设置地图类型。C#核心代码如下: 

mMapVIEw = FindVIEwByID<TextureMapVIEw>(Resource.ID.bmapVIEw);mBaIDuMap = mMapVIEw.Map;//设置底图显示模式:普通地图mBaIDuMap.MapType = BaIDuMap.MapTypenormal;//设置底图显示模式:卫星地图mBaIDuMap.MapType = BaIDuMap.MapTypeSatellite; 

2、实时交通图
 当前,全国范围内已支持多个城市实时路况查询,且会陆续开通其他城市。 
目前有哪些城市具有实时交通图? 
目前(2016-01-27)已有31个城市开通,分别为南京,广州,重庆,东莞,长春,台州,福州,金华,北京,常州,杭州,温州,大连,南昌,宁波,沈阳,中山,珠海,佛山,泉州,石家庄,成都,青岛,深圳,武汉,乌鲁木齐,长沙,上海,天津,无锡,厦门。之后其他城市还会陆续开通。
 在地图上打开实时路况的C#核心代码如下: 

mMapVIEw = FindVIEwByID<TextureMapVIEw>(Resource.ID.bmapVIEw);mBaIDuMap = mMapVIEw.Map;//开启交通图mBaIDuMap.TrafficEnabled = true; 

3、百度城市热力图
 百度地图SDK继为广大开发者开放热力图本地绘制能力之后,再次进一步开放百度自有数据的城市热力图层,帮助开发者构建形式更加多样的移动端应用。 
百度城市热力图的性质及使用与实时交通图类似,只需要简单的接口调用,即可在地图上展现样式丰富的百度城市热力图。 
在地图上开启百度城市热力图的C#核心代码如下: 

mMapVIEw = FindVIEwByID<TextureMapVIEw>(Resource.ID.bmapVIEw);mBaIDuMap = mMapVIEw.Map;//开启交通图mBaIDuMap.BaIDuHeatMapEnabled = true;


在上一节例子的基础上,只需要再增加下面的步骤即可。
 1、添加demo04_layers.axml文件

<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"  androID:layout_wIDth="fill_parent"  androID:layout_height="fill_parent"  androID:orIEntation="vertical" >  <linearLayout    androID:layout_wIDth="fill_parent"    androID:layout_height="wrap_content"    androID:orIEntation="horizontal" >    <RadioGroup      androID:ID="@+ID/RadioGroup"      androID:layout_wIDth="wrap_content"      androID:layout_height="wrap_content"      androID:layout_weight="2"      androID:orIEntation="horizontal" >      <Radiobutton        androID:ID="@+ID/normal"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_weight="1"        androID:checked="true"        androID:text="普通图" />      <Radiobutton        androID:ID="@+ID/statellite"        androID:layout_wIDth="wrap_content"        androID:layout_height="wrap_content"        androID:layout_weight="1"        androID:text="卫星图" />    </RadioGroup>    <CheckBox      androID:ID="@+ID/traffice"      androID:layout_wIDth="wrap_content"      androID:layout_height="wrap_content"      androID:layout_weight="1"      androID:checked="false"      androID:text="交通图" />          <CheckBox      androID:ID="@+ID/baIDuHeatMap"      androID:layout_wIDth="wrap_content"      androID:layout_height="wrap_content"      androID:layout_weight="1"      androID:checked="false"      androID:text="百度城市热力图" />  </linearLayout>  <com.baIDu.mapAPI.map.TextureMapVIEw    androID:ID="@+ID/bmapVIEw"    androID:layout_wIDth="fill_parent"    androID:layout_height="fill_parent"    androID:clickable="true" /></linearLayout>

2、添加Demo04Layers.cs文件 
在SrcSdkDemos文件夹下添加该文件。

using AndroID.App;using AndroID.Content.PM;using AndroID.OS;using AndroID.Widget;using Com.BaIDu.MapAPI.Map;namespace BdMapV371Demos.SrcSdkDemos{  /// <summary>  /// 演示地图图层显示的控制方法  /// </summary>  [Activity(Label = "@string/demo_name_layers",ConfigurationChanges = ConfigChanges.OrIEntation | ConfigChanges.KeyboardHIDden,ScreenorIEntation = ScreenorIEntation.Sensor)]  public class Demo04Layers : Activity  {    //TextureMapVIEw 是地图主控件    private TextureMapVIEw mMapVIEw;    private BaIDuMap mBaIDuMap;    protected overrIDe voID OnCreate(Bundle savedInstanceState)    {      base.OnCreate(savedInstanceState);      SetContentVIEw(Resource.Layout.demo04_layers);      mMapVIEw = FindVIEwByID<TextureMapVIEw>(Resource.ID.bmapVIEw);      mBaIDuMap = mMapVIEw.Map;      mBaIDuMap.SetMapStatus(MapStatusUpdateFactory.NewLatLng(MainActivity.HeNanUniversity));      //设置底图显示模式:普通图      var normal = FindVIEwByID<Radiobutton>(Resource.ID.normal);      normal.Click += delegate      {        mBaIDuMap.MapType = BaIDuMap.MapTypenormal;      };      //设置底图显示模式:卫星图      var statellite = FindVIEwByID<Radiobutton>(Resource.ID.statellite);      statellite.Click += delegate      {        mBaIDuMap.MapType = BaIDuMap.MapTypeSatellite;      };      //是否显示交通图      var traffice = FindVIEwByID<CheckBox>(Resource.ID.traffice);      traffice.CheckedChange += (s,e) =>      {        mBaIDuMap.TrafficEnabled = e.IsChecked;      };      //是否显示热力图      var baIDuHeatMap = FindVIEwByID<CheckBox>(Resource.ID.baIDuHeatMap);      traffice.CheckedChange += (s,e) =>      {        mBaIDuMap.BaIDuHeatMapEnabled = e.IsChecked;      };    }    protected overrIDe voID OnPause()    {      mMapVIEw.OnPause();      base.OnPause();    }    protected overrIDe voID OnResume()    {      mMapVIEw.OnResume();      base.OnResume();    }    protected overrIDe voID OnDestroy()    {      mMapVIEw.OnDestroy();      base.OnDestroy();    }  }}

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

     //示例4--图层展示      new DemoInfo<Activity>(Resource.String.demo_Title_layers,Resource.String.demo_desc_layers,new Demo04Layers()),

 运行。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android百度地图应用之图层展示全部内容,希望文章能够帮你解决Android百度地图应用之图层展示所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1149156.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存