博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Android】3.9 覆盖物功能
阅读量:6281 次
发布时间:2019-06-22

本文共 9189 字,大约阅读时间需要 30 分钟。

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

一、简介

百度地图SDK所提供的地图等级为3-19级(3.7.1版本中有些部分已经提供到了21级),所包含的信息有建筑物、道路、河流、学校、公园等内容。百度将所有叠加或覆盖到地图的内容统称为地图覆盖物。如标注、矢量图形元素(包括:折线、多边形和圆等)、定位图标等。覆盖物拥有自己的地理坐标,当拖动或缩放地图时,它们会相应的移动。

百度地图SDK 3.7.1支持多种地图覆盖物。该版本所支持的地图覆盖物有:定位图层、地图标注(Marker)、几何图形(点、折线、弧线、多边形等)、地形图图层、POI检索结果覆盖物、线路规划结果覆盖物、热力图图层、瓦片图层以及自定义标注等。

1、标注覆盖物

(1)标注

开发者可根据自己实际的业务需求,利用标注覆盖物,在地图指定的位置上添加标注信息。

(2)底图标注

自v3.6.0版本起,SDK在BaiduMap提供了控制底图标注的ShowMapPoi方法,默认显示底图标注。利用此方法可得到仅显示道路信息的地图。

2、几何图形覆盖物

地图SDK提供多种结合图形覆盖物,利用这些图形,可帮助您构建更加丰富多彩的地图应用。目前提供的几何图形有:点(Dot)、折线(Polyline)、弧线(Arc)、圆(Circle)、多边形(Polygon)。

3、文字覆盖物

文字,在地图中也是一种覆盖物,开发者可利用相关的接口,快速实现在地图上书写文字的需求。

4、弹出窗覆盖物

利用弹出窗覆盖物可构建具有更强交互性的地图页面。

5、地形图图层

地形图图层(GroundOverlay),又可叫做图片图层,即开发者可在地图的指定位置上添加图片。该图片可随地图的平移、缩放、旋转等操作做相应的变换。该图层是一种特殊的Overlay, 它位于底图和底图标注层之间(即该图层不会遮挡地图标注信息)。

6、检索结果覆盖物

针对检索功能模块(POI检索、线路规划等),地图SDK还对外提供相应的覆盖物来快速展示结果信息。这些方法都是开源的,开发者可根据自己的实际去求来做个性化的定制。

二、运行截图

简介:介绍添加覆盖物并响应点击功能和弹出pop功能

详述:

(1)在popup中添加弹出自定义View的示例;

(2)点击周围4个Marker,弹出popup,可更新marker位置和更新marker图标;

(3)中间显示的为图片图层,该图层可随地图的移动、缩放等做出相应的操作;

(4)支持Maker设置透明度的方法,利用滑动条可以展示maker透明度变化;

(5)支持Marker设置动画的能力,包含两种方式:从地上生长和从天上落下。

本示例运行截图如下:

三、设计步骤

1、添加demo09_overlay.xml文件

2、添加Demo09Overlay.cs文件

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

using Android.App;using Android.Content.PM;using Android.Graphics;using Android.OS;using Android.Widget;using Com.Baidu.Mapapi.Map;using Com.Baidu.Mapapi.Model;using System.Collections.Generic;namespace BdMapV371Demos.SrcSdkDemos{    ///     /// 演示覆盖物的用法    ///     [Activity(Label = "@string/demo_name_overlay",        ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden,         ScreenOrientation = ScreenOrientation.Sensor)]    public class Demo09Overlay : Activity    {        private TextureMapView mMapView;        private BaiduMap mBaiduMap;        private Marker mMarkerA;        private Marker mMarkerB;        private Marker mMarkerC;        private Marker mMarkerD;        private CheckBox animationBox = null;        // 初始化全局 bitmap 信息,不用时及时 Recycle        BitmapDescriptor bdA = BitmapDescriptorFactory.FromResource(Resource.Drawable.icon_marka);        BitmapDescriptor bdB = BitmapDescriptorFactory.FromResource(Resource.Drawable.icon_markb);        BitmapDescriptor bdC = BitmapDescriptorFactory.FromResource(Resource.Drawable.icon_markc);        BitmapDescriptor bdD = BitmapDescriptorFactory.FromResource(Resource.Drawable.icon_markd);        BitmapDescriptor bd = BitmapDescriptorFactory.FromResource(Resource.Drawable.icon_gcoding);        BitmapDescriptor bdGround = BitmapDescriptorFactory.FromResource(Resource.Drawable.ground_overlay);        protected override void OnCreate(Bundle savedInstanceState)        {            base.OnCreate(savedInstanceState);            SetContentView(Resource.Layout.demo09_overlay);            var clear = FindViewById

3、修改MainActivity.cs

在MainActivity.cs文件的demos字段定义中,去掉【示例9】下面的注释。

运行观察结果。

转载地址:http://yjxva.baihongyu.com/

你可能感兴趣的文章
SSH深度历险记(八) 剖析SSH核心原则+Spring依赖注入的三种方式
查看>>
iOS富文本组件的实现—DTCoreText源码解析 数据篇
查看>>
java中注解的使用与实例(一)
查看>>
Alisha’s Party(队列)
查看>>
Cocos2d-x3.0游戏实例《不要救我》第十篇(结束)——使用Json配置数据类型的怪物...
查看>>
Textview 文本旋转,倾斜
查看>>
secureCRt中文乱码问题
查看>>
将List<Map>中的datas转换为json格式写入文件
查看>>
将 tomcat 安装成 windows 服务
查看>>
建立一个node.js服务器(使用express搭建第一个Web环境)
查看>>
Sql — CTE公用表表达式和With用法总结
查看>>
mysql update中需要根据条件列更新写法update case
查看>>
AJAX里调用AJAX,作定时进度刷新
查看>>
IOS修改webView背景透明以及IOS调用前台js的方法
查看>>
森林病虫防治系统 (二.2)
查看>>
jsp内置对象作业2-留言簿
查看>>
spring mvc中的@PathVariable(转)
查看>>
[蓝牙] 2、蓝牙BLE协议及架构浅析&&基于广播超时待机说广播事件
查看>>
在投票系统方法的原则刷票(突破ip限制刷票PHP版)
查看>>
32位电脑与64位电脑有什么不同
查看>>