百度地图SDK Flutter插件为开发者提供了在Flutter开发中便捷的使用百度地图能力的接口,通过以下几步操作,即可在您的应用中使用百度地图
在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 | 设定地图是否回调forcetouch事件,默认为false,仅适用于支持3DTouch的情况(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 |
上一篇
下一篇
本篇文章对您是否有帮助?