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

 更新时间:2016年06月14日 10:42:23   作者:rainmj  
这篇文章主要为大家详细介绍了Android百度地图应用之图层展示,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、简介
 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中的Bitmap的详细介绍

    Android中的Bitmap的详细介绍

    本篇文章主要介绍了Android中的Bitmap,是Windows标准格式图形文件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Android延迟实现的几种解决方法及原理分析

    Android延迟实现的几种解决方法及原理分析

    这篇文章主要给大家介绍了关于Android延迟实现的几种解决方法以及其中的原理分析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • Kotlin空安全空类型浅谈

    Kotlin空安全空类型浅谈

    这篇文章主要为大家介绍了Kotlin空安全空类型的实用技巧浅谈,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Android PickerView滚动选择器的使用方法

    Android PickerView滚动选择器的使用方法

    这篇文章主要为大家详细介绍了Android PickerView滚动选择器的使用方法,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 微信或手机浏览器在线显示office文件(已测试ios、android)

    微信或手机浏览器在线显示office文件(已测试ios、android)

    这篇文章主要介绍了微信或手机浏览器在线显示office文件,已测试ios、android,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Android中oncreate中获得控件高度或宽度的实现方法

    Android中oncreate中获得控件高度或宽度的实现方法

    这篇文章主要介绍了Android中oncreate中获得控件高度或宽度的实现方法的相关资料,希望通过本文大家能实现这样的功能,需要的朋友可以参考下
    2017-09-09
  • Android 自定义弹性ListView控件实例代码(三种方法)

    Android 自定义弹性ListView控件实例代码(三种方法)

    关于在Android中实现ListView的弹性效果,有很多不同的方法,网上一搜,也有很多,下面贴出在项目中经常用到的两种实现ListView弹性效果的方法(基本上拿来就可以用),需要的朋友参考下本段代码
    2016-01-01
  • Android中Retrofit+OkHttp进行HTTP网络编程的使用指南

    Android中Retrofit+OkHttp进行HTTP网络编程的使用指南

    Retrofit和OkHttp都是Square在GitHub上开源的第三方HTTP支持包,两个包可以搭配使用,本文即是来讲解Android中Retrofit+OkHttp进行HTTP网络编程的使用指南:
    2016-07-07
  • 详解Android壁纸服务的启动过程

    详解Android壁纸服务的启动过程

    你有设置过手机的壁纸吗,你知道壁纸是什么样的程序它是怎么在后台运行的吗?这篇文章主要介绍了详解Android系统壁纸服务的启动过程
    2021-08-08
  • Flutter 页面跳转和传值的实现

    Flutter 页面跳转和传值的实现

    跳转传值是再普通不过的小功能了,在开发中会经常用到,比如列表进入详情,本文主要介绍了Flutter 页面跳转和传值的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-04-04

最新评论