浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。

Android 地图SDK

百度地图SDK是一套应用程序接口, 通过调用地图SDK接口,开发者可以轻松访问百度地图的服务和数据,构建功能丰富、交互性强的地图类应用程序。

本章节将对各类地图交互方法做介绍,改变地图缩放等级、设置地图操作区距屏幕的距离、设置地图显示范围、 改变地图类型和控件显示状态、改变地图手势的中心点、隐藏底图标注等。
改变地图缩放等级

支持利用MapStatusUpdateFactory中的zoomTo()、zoomIn()、zoomOut() 方法设置地图缩放级别。

设置方法为:

mBaiduMap.setMapStatus(MapStatusUpdateFactory.zoomTo(zoom));

zoomTo(zoom):直接设置指定的缩放级别
zoomIn():放大地图缩放级别
zoomOut():缩小地图缩放级别

此外,setMapStatus是直接设置地图的状态,与之对应的是animateMapStatus方法,采用动画的方式更新地图状态。

设置地图操作区距屏幕的距离

支持利用setViewPadding方法 围绕地图边缘添加内边距。地图将继续充满整个屏幕, 但地图logo、比例尺、指南针、缩放按钮等控件、地图手势以及覆盖物,将调整在地图边界内操作。

适用于不希望操作控件被UI遮挡情况。

setViewPadding设置方法

mBaiduMap.setViewPadding(int left,int top, int right, int bottom);

设置地图边界,只有在OnMapLoadedCallback.onMapLoaded() 之后设置才生效,详细使用方法请查看UISettingsDemo。

两种设置地图内边距的方法和区别:

方法名 MapStatus中心点坐标 状态
setViewPadding
不变
正常
setPadding
变为地图内边距勾勒矩形的中心点
已废弃

注:按照百度地图API使用条款 您的应用不得删除或遮盖 百度地图Logo或版权声明。 地图内边距允许您在必要时重新定位这些元素。 如果您在地图底部显示自定义 UI,请在地图底部添加内边距,以使百度地图Logo和法律声明始终可见。

设置地图显示范围

设置方法为:

mBaiduMap.setMapStatus(MapStatusUpdateFactory. newLatLngBounds(bounds));// 设置显示在屏幕中的地图地理范围

或者:

mBaiduMap.setMapStatus(MapStatusUpdateFactory. newLatLngBounds(bounds),width, height);// 设置显示在屏幕中的地图地理范围
改变地图类型和控件显示状态

设置方法为:

1. 定义了一个配置 BaiduMap 对象的参数类

BaiduMapOptions mapOptions = new BaiduMapOptions ();

2.设置一些需要改变的状态,如地图模式,是否显示各种控件等等

mapOptions. mapType(mapType). scaleControlEnabled(enabled);

3.创建MapView对象

MapView mMapView = new MapView(this, mapOptions);
改变地图手势的中心点(地图的中心点)

改变地图手势的中心点,即需要改变地图的中心点,手势旋转等操作是以地图中心点 做旋转的。

设置方法为:
mBaiduMap.setMapStatus(MapStatusUpdateFactory. newLatLng(LatLng latLng));

隐藏底图标注(控制地图POI显示)

根据使用需要,支持设置poi的显示。

方法一:showMapPoi方法

在BaiduMap提供了控制底图标注的showMapPoi方法,默认显示底图标注。利用此属性可得到仅显示道路信息的地图,方法如下:

// 将底图标注设置为隐藏,方法如下:

mBaiduMap.showMapPoi(false)

运行后,底图标注被隐藏,效果如图:

showmappoi1.png

方法二:个性化地图,将poilabel可见性设置为off,详见个性化地图

{
    "featureType": "poilabel",
    "elementType": "labels.text ",
    "stylers": {
        "visibility": "off" 
    }
}