<Android 应用 之路> 百度地图API使用(2)
简介
上一篇只是大致的提一下百度地图API的Android SDK的基本内容,然后抄袭一个官网上的Demo,今天看一下百度地图的第一部分,地图类型和基本的显示。
简单实战
不同类型地图的显示
//设置地图类型
//public static final int MAP_TYPE_NORMAL = 1; 普通地图
//public static final int MAP_TYPE_SATELLITE = 2; 卫星地图
//public static final int MAP_TYPE_NONE = 3; 空白地图
private void setMapType(int type) {
if (mBaiduMap != null) {
mBaiduMap.setMapType(type);
}
}
- 空白地图
- 正常地图
- 卫星地图
实时交通图和百度城市热力图
/*
实时交通图
false- > 不开启
true -> 开启
*/
private void setTrafficMap(boolean enabled) {
if (mBaiduMap != null) {
mBaiduMap.setTrafficEnabled(enabled);
}
}
/*
百度城市热力图
false- > 不开启
true -> 开启
*/
private void setHeatMap(boolean enabled) {
if (mBaiduMap != null) {
mBaiduMap.setBaiduHeatMapEnabled(enabled);
}
}
- 实时交通图
(此图是在地图类型为空白地图时显示的) - 百度城市交通热力图
地图控制和手势
地图控制
地图Logo
默认在左下角显示,不可以移除。
通过mMapView.setLogoPosition(LogoPosition.logoPostionleftBottom);方法,使用枚举类型控制显示的位置,共支持6个显示位置(左下,中下,右下,左上,中上,右上)。
地图Logo不允许遮挡,可通过mBaiduMap.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom);方法可以设置地图边界区域,来避免UI遮挡。
其中参数paddingLeft、paddingTop、paddingRight、paddingBottom参数表示距离屏幕边框的左、上、右、下边距的距离,单位为屏幕坐标的像素密度。
指南针
指南针默认为开启状态,可以关闭显示 。
比例尺
比例尺默认为开启状态,可以关闭显示。同时支持设置MaxZoomLevel和minZoomLevel,可通过mMapView.getMapLevel获取当前地图级别下比例尺所表示的距离大小。
具体的显示位置和内容如下
备注:指南针旋转地图的时候才会出现,一开始加载的时候是不会出现的
地图平移
控
制是否启用或禁用平移的功能,默认开启。如果启用,则用户可以平移地图
地图缩放
控制是否启用或禁用缩放手势,默认开启。如果启用,用户可以双指点击或缩放地图视图。
地图俯视(3D)
控制是否启用或禁用俯视(3D)功能,默认开启。如果启用,则用户可使用双指 向下或向上滑动到俯视图。
地图旋转
控制是否启用或禁用地图旋转功能,默认开启。如果启用,则用户可使用双指 旋转来旋转地图。
禁止所有手势
控制是否一并禁止所有手势,默认关闭。如果启用,所有手势都将被禁用。
mUiSettings = mBaiduMap.getUiSettings();
setSizeByBoolean(fabZoom, mUiSettings.isZoomGesturesEnabled());
setSizeByBoolean(fabZoom, mUiSettings.isZoomGesturesEnabled());
setSizeByBoolean(fabScroll, mUiSettings.isScrollGesturesEnabled());
setSizeByBoolean(fabOverlook, mUiSettings.isOverlookingGesturesEnabled());
setSizeByBoolean(fabRotate, mUiSettings.isRotateGesturesEnabled());
setSizeByBoolean(fabCompass, mUiSettings.isCompassEnabled());
private void setSizeByBoolean(FloatingActionButton fab , boolean bl) {
if(bl) {
fab.setButtonSize(FloatingActionButton.SIZE_NORMAL);
} else {
fab.setButtonSize(FloatingActionButton.SIZE_MINI);
}
}
public void onClick(View view) {
...
case R.id.fab_zoom:
if (mUiSettings.isZoomGesturesEnabled()) {
mUiSettings.setZoomGesturesEnabled(false);
fabZoom.setButtonSize(FloatingActionButton.SIZE_MINI);
} else {
mUiSettings.setZoomGesturesEnabled(true);
fabZoom.setButtonSize(FloatingActionButton.SIZE_NORMAL);
}
break;
case R.id.fab_scroll:
if (mUiSettings.isScrollGesturesEnabled()) {
mUiSettings.setScrollGesturesEnabled(false);
fabScroll.setButtonSize(FloatingActionButton.SIZE_MINI);
} else {
mUiSettings.setScrollGesturesEnabled(true);
fabScroll.setButtonSize(FloatingActionButton.SIZE_NORMAL);
}
break;
case R.id.fab_rotate:
if (mUiSettings.isRotateGesturesEnabled()) {
mUiSettings.setRotateGesturesEnabled(false);
fabRotate.setButtonSize(FloatingActionButton.SIZE_MINI);
} else {
mUiSettings.setRotateGesturesEnabled(true);
fabRotate.setButtonSize(FloatingActionButton.SIZE_NORMAL);
}
break;
case R.id.fab_overlook:
if (mUiSettings.isOverlookingGesturesEnabled()) {
mUiSettings.setOverlookingGesturesEnabled(false);
fabOverlook.setButtonSize(FloatingActionButton.SIZE_MINI);
} else {
mUiSettings.setOverlookingGesturesEnabled(true);
fabOverlook.setButtonSize(FloatingActionButton.SIZE_NORMAL);
}
break;
case R.id.fab_compass:
if (mUiSettings.isCompassEnabled()) {
mUiSettings.setCompassEnabled(false);
fabCompass.setButtonSize(FloatingActionButton.SIZE_MINI);
} else {
mUiSettings.setCompassEnabled(true);
fabCompass.setButtonSize(FloatingActionButton.SIZE_NORMAL);
}
break;
...
}
- 实际结果
(好像并不能从图里看出什么呵 - - !)
<Android 应用 之路> 百度地图API使用(2)的更多相关文章
- <Android 应用 之路> 百度地图API使用(4)
前言 百度地图的定位功能和基础地图功能是分开的,使用的是另外的jar包和so库文件,详情请关注官网: 百度定位SDK 配置 下载对应的jar包和so库,然后移动到lib目录下 AS中注意事项 sour ...
- <Android 应用 之路> 百度地图API使用(1)
简介 详情请看百度地图官方网站 http://lbsyun.baidu.com/index.php?title=androidsdk/guide/introduction 使用方式 申请密钥,针对移动 ...
- <Android 应用 之路> 百度地图API使用(3)
前言 上一篇讲解并实践了百度地图基本显示,地图类型,实时交通图,热力图,地图控制和手势控制,今天看下在地图上添加view和覆盖物. 地图Logo不允许遮挡,可通过mBaiduMap.setPaddin ...
- Android应用中使用百度地图API并加入标注(一)
网上一些资料这样的的内容已经过时了,这里是最新的内容,假设哪里不正确,请吐槽... 1)下载百度地图移动版API(Android)开发包 要在Android应用中使用百度地图API,就须要 ...
- Android应用中使用百度地图API定位自己的位置(二)
官方文档:http://developer.baidu.com/map/sdkandev-6.htm#.E7.AE.80.E4.BB.8B3 百度地图SDK为开发人员们提供了例如以下类型的地图覆盖物: ...
- 我的Android开发之路——百度地图开源工具获取定位信息
定位技术在现在的移动设备上是必不可少的,许多app都会使用定位功能. 通常定位方式有两种:GPS定位:网络定位. Android系统对这两种定位方式都提供了相应的API支持,但是因为google的网络 ...
- Android应用中使用百度地图API之POI(三)
先看执行后的图吧: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbWFqaWFuamll/font/5a6L5L2T/fontsize/400/fill/ ...
- Android端百度地图API使用详解
百度地图API简介 百度地图移动版API(Android)是一套基于Android设备的应用程序接口,通过该接口,可以轻松的访问百度服务和数据,构建功能丰富.交互性强的地图应用程序. 百度地图移动版A ...
- Android 百度地图API 定位 导航
看看这个利用百度地图定位并实现目的地导航的Demo. 首先看实现效果: 进 入后首先会得到当前位置,在地图上显示出来.在输入框中输入目的地后,就会在地 ...
随机推荐
- StringBuffer类和String类的区别
StringBuffer是使用缓冲区的,本身也是操作字符串的,但与String类不同,String类的内容一旦声明后是不可改变的,改变的只是其内存的指向,而StringBuffer类的对象内容是可以改 ...
- 移动端遇到的常见JS与CSS问题及解决方法
由于笔者的水平有限,虽说都是笔者遇到过使用过的,但文中可能也会出现一些问题或不严谨的地方,望各位指出,不胜感激! 一. css部分 body如果设置height:100%;overflow:hidde ...
- python之类与对象(1)
面向对象编程是最有效的软件编写方法之一.编写类时,定义一群对象都有的通用行为.基于类创建对象时,每个对象都自动具备这种通用行为,然后可以根据需要赋予每个对象的独特的个性. 1. 类与对象的语法规范 关 ...
- python爬虫之urllib库(一)
python爬虫之urllib库(一) urllib库 urllib库是python提供的一种用于操作URL的模块,python2中是urllib和urllib2两个库文件,python3中整合在了u ...
- SuperMap iClient for JavaScript 之关联查询
人们常说,计划赶不上变化.同样的,在项目中,使用的数据也是在不断变化的,尤其是属性信息的改变.就比如说,地图上的地物,它的空间信息在比较长的时间内,都不会发生变化,他的属性信息在初期不完整或者与后来的 ...
- Apache-jmeter3.3安装
一.首先检查机子上是否有安装jdk 检查方式,在cmd中输入java,出现如下信息,即已经安装好jdk 若未安装jdk,则看如下步骤 步骤一: 1.下载jdk,到官网下载jdk,地址:http://w ...
- Python+Selenium(webdriver常用API)
总结了Python+selenium常用的一些方法函数,以后有新增再随时更新: 加载浏览器驱动: webdriver.Firefox() 打开页面:get() 关闭浏览器:quit() 最大化窗口: ...
- Linux下实现MySQL数据库自动备份
1.给mysql创建用户备份的角色,并且授予角色SELECT, RELOAD, SHOW DATABASES, LOCK TABLES等权限. mysql> create user 'backu ...
- document.referrer的使用和window.opener 跟 window.parent 的区别
偶尔看到了document.referrer,之前一直有点疑惑与window.opener 和 window.parent之间的区别 首先查了一下w3cSCHOOL, 上面的解释:referrer 属 ...
- python获取命令行参数
python获取命令行参数 主要是通过sys的argv列表来获取命令行内容,命令行的参数以空格分隔放到argv列表中. import sys if __name__ == "__main__ ...