浏览器版本低!无法浏览完整内容,建议升级或更换浏览器。
更新时间:2020年06月23日
Hello BaiduMap
百度地图SDK为开发者提供了便捷的使用百度地图能力的接口,通过以下几步操作,即可在您的应用中使用百度地图:
1第一步 在Aandroid 环境下使用需要初始化地图sdk

         打开flutter工程下的Android module工程:

           wiki%2Fandroid-loc-sdk%2Fmap1.png
         
         新建一个自定义的Application,继承BmfMapApplication类重写onCreate方法,
         在onCreate方法中执行父类的super.onCreate(), 完成SDK的初始化。示例代码如下:
 
           wiki%2Fandroid-loc-sdk%2Fshowmap2.png
         
         在AndroidManifest.xml文件中声明该Application:
           
           wiki%2Fandroid-loc-sdk%2Fshowmap3.png

2第二步 设置AK(密钥)和坐标类型

         在main.dart的main函数中添加如下代码:

if(Platform.isIOS){
      BMFMapSDK.setApiKeyAndCoordType(
      '请输入百度开放平台申请的iOS端API KEY', BMF_COORD_TYPE.BD09LL);
 }else if(Platform.isAndroid){
// Android 目前不支持接口设置Apikey,
// 请在主工程的Manifest文件里设置,详细配置方法请参考[https://lbsyun.baidu.com/ 官网][https://lbsyun.baidu.com/)demo
BMFMapSDK.setCoordType(BMF_COORD_TYPE.BD09LL);}

Android平台需要在AndroidManifest.xml文件里设置AK:

<application>  
    <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="请输入百度开放平台申请的Android端API KEY" />  
</application>

若您还不曾申请开发密钥,点此申请


3第三步 在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,
      ),
    );
4完成以上配置,及可在Flutter页面展示地图页面:
         

cjdt.jpg

     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
  • 文档根本没法用

  • 文档水平很差

  • 文档水平一般

  • 文档不错

  • 文档写的很好

如发现文档错误,或对此文档有更好的建议,请在下方反馈。问题咨询请前往反馈平台提交工单咨询。

提交反馈

拖动标注工具

添加矩形标注

添加箭头标注

完成

取消