更新时间:2020年06月23日
Hello BaiduMap
在UI代码中添加地图页面组件(BMFMapWidget):
BMFMapOptions构造,BMFMapOptions包含了创建地图所需要的各种状态参数
BMFMapOptions mapOptions = BMFMapOptions( center: BMFCoordinate(39.917215, 116.380341), zoomLevel: 12, mapPadding: BMFEdgeInsets(left: 30, top: 0, right: 30, bottom: 0));
地图Flutter Widget构造,BMFMapWidget是地图Flutter插件封装的一个支持AndroidView和UiKitView的Widget
Container( height: screenSize.height, width: screenSize.width, child: BMFMapWidget( onBMFMapCreated: (controller) { onBMFMapCreated(controller); }, mapOptions: mapOptions, ), );完成以上配置,及可在Flutter页面展示地图页面:
BMFMapOptions类的属性如下:
状态 | 含义 |
---|---|
mapType | 地图类型 |
limitMapBounds | 限制地图的显示范围 |
compassPosition | 指南针的位置 |
center | 当前地图的中心点 |
zoomLevel | 地图比例尺级别,在手机上当前可使用的级别为4-21级 |
minZoomLevel | 地图的自定义最小比例尺级别 |
maxZoomLevel | 地图的自定义最大比例尺级别 |
rotation | 地图旋转角度,在手机上当前可使用的范围为-180~180度 (ios取int值) |
overlooking | 地图俯视角度,在手机上当前可使用的范围为-45~0度 (ios取int值) |
minOverlooking | 地图俯视角度最小值(即角度最大值),在手机上当前可设置的范围为-79~0度(iOS独有) |
buildingsEnabled | 设定地图是否现显示3D楼块效果 |
showMapPoi | 设定地图是否显示底图poi标注(不包含室内图标注),默认true |
trafficEnabled |
设定地图是否打开路况图层 |
baiduHeatMapEnabled |
设定地图是否打开百度城市热力图图层(百度自有数据),地图层级大于11时,可显示热力图 |
gesturesEnabled |
设定地图View能否支持所有手势操作 |
zoomEnabled |
设定地图View能否支持用户多点缩放(双指) |
zoomEnabledWithTap |
设定地图View能否支持用户缩放(双击或双指单击,iOS独有) |
scrollEnabled |
设定地图View能否支持用户移动地图 |
overlookEnabled |
设定地图View能否支持俯仰角 |
rotateEnabled |
设定地图View能否支持旋转 |
forceTouchEnabled |
设定地图是否回调force touch事件,默认为false,仅适用于支持 3D Touch的情况(iOS独有) |
showMapScaleBar |
设定是否显示比例尺 |
mapScaleBarPosition |
比例尺的位置,设定坐标以BMKMapView左上角为原点,向右向下增长 |
logoPosition |
logo位置 默认BMFLogoPositionLeftBottom |
visibleMapBounds |
当前地图可显示范围(东北,西南)角坐标 |
mapPadding |
地图预留边界,默认:(top:0, left:0, bottom:0, right:0), 设置后,会根据mapPadding调整logo、比例尺、指南针的位置, 当updateTargetScreenPtWhenMapPaddingChanged==true时,地图中心(屏幕坐标:BMKMapStatus.targetScreenPt)跟着改 |
updateTargetScreenPtWhenMapPaddingChanged |
设置mapPadding时,地图中心(屏幕坐标:BMKMapStatus.targetScreenPt)是否跟着改变,默认true(iOS独有) |
changeWithTouchPointCenterEnabled |
设定双指手势操作时,地图的旋转和缩放效果的中心点(iOS独有); 值为true时,以手势的中心点(二个指头的中心点)为中心进行旋转和缩放,地图中心点会改变;值为false时,以当前地图的中心点为中心进行旋转和缩放,地图中心点不变; 默认为false。 |
changeCenterWithDoubleTouchPointEnabled |
设定双击手势放大地图时,BMKMapView的放大效果的中心点; 值为true时,以双击的位置为中心点进行放大,地图中心点会改变; 值为false时,以当前地图的中心点为中心进行放大,地图中心点不变; 默认为true。 |
baseIndoorMapEnabled |
设定地图是否显示室内图(包含室内图标注),默认不显示 |
showIndoorMapPoi |
设定室内图标注是否显示,默认true,仅当显示室内图(baseIndoorMapEnabled为true)时生 |
地图类型与显示层级
地图类型或图层 | 显示层级 |
---|---|
2D地图 | 4-21 |
3D地图 | 19-21 |
卫星图 | 4-20 |
路况交通图 | 11-21 |
百度城市热力图 | 11-21 |
室内图 | 17-22 |
显示层级与比例尺
显示层级 | 比例尺/米 |
---|---|
4 | 1000000 |
5 | 500000 |
6 | 200000 |
7 | 100000 |
8 | 50000 |
9 | 25000 |
10 | 20000 |
11 | 10000 |
12 | 5000 |
13 | 2000 |
14 | 1000 |
15 | 500 |
16 | 200 |
17 | 100 |
18 | 50 |
19 | 20 |
20 | 10 |
21 | 5 |