更新记录
1.0.1(2021-12-30)
- 初始化百度地图
- 显示百度地图
- 修改地图样式
平台兼容性
Android | iOS |
---|---|
× | 适用版本区间:9 - 15 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
-
初始化地图
var key = ""; switch (uni.getSystemInfoSync().platform) { case 'android': key = "o0iXtYpb6kXqFtHbhoW9B1XnLs8GecVQ"; break; case 'ios': key = "20olWqR7902fqmCSC4Ycc3oCic0bNd4v"; break; default: break; } // 初始化定位SDK var params = {}; params.key = key; baidumap.checkPermision(params, (resp) => { switch (uni.getSystemInfoSync().platform) { // 只有iOS有回调 case 'ios': var code = resp.code; if (code == 0) { console.log("鉴权成功"); } else if (code == 1) { // 因网络鉴权失败 console.log("鉴权失败:" + code); } else if (code == 2) { // KEY非法鉴权失败 console.log("鉴权失败:" + code); } else if (code == -1) { // 未知错误 console.log("鉴权失败:" + code); } break; default: break; } }); // 设置坐标系 /** 百度地图SDK所有API均支持百度坐标(BD09)和国测局坐标(GCJ02),用此方法设置您使用的坐标类型. 默认是BD09(BMK_COORDTYPE_BD09LL)坐标. 如果需要使用GCJ02坐标,需要设置CoordinateType为:BMK_COORDTYPE_COMMON. */ var typeParams = {}; // ios: bd09ll: 百度经纬度坐标 gps:GPS设备采集的原始GPS坐标(WGS-84) common:GCJ坐标,google地图、soso地图、aliyun地图、mapabc地图和amap地图所用坐标 // android:只支持bd09ll、common typeParams.type = "bd09ll"; var result = baidumap.setCoordinateTypeUsedInBaiduMapSDK(typeParams); if (null != result) { // 只有iOS有返回值 if (isString(result)) { result = JSON.parse(result); } if (result.suc) { console.log("坐标系设置成功"); } else { console.log("坐标系设置失败"); } } //要使用百度地图,请先启动BMKMapManager var startParams = {}; startParams.key = key; var startResult = baidumap.start(startParams, (resp) => { switch (uni.getSystemInfoSync().platform) { // 只有iOS有回调 case 'ios': var opt = resp.opt; if (opt == "onGetNetworkState") { var code = resp.code; if (code == 0) { console.log("联网成功"); } else { console.log("联网失败:" + code); } } else if (opt == "onGetPermissionState") { var code = resp.code; if (code == 0) { console.log("授权成功"); } else { console.log("授权失败:" + code); } } break; default: break; } }); if (null != startResult) { // 只有iOS有返回值 if (isString(startResult)) { startResult = JSON.parse(startResult); } if (startResult.suc) { console.log("启动引擎失败成功"); } else { console.log("启动引擎失败失败"); } }
-
显示地图
<wrs-baidumapview ref='mapview' :style="'width:'+width+'px;height:'+height+'px;'">
- 地图函数API
1.设置地图风格样式
var index = e.currentIndex;
var params = {};
switch (index) {
case 0:
params.mapType = "standard"; // 标准地图
break;
case 1:
params.mapType = "satelite"; // 卫星地图
break;
case 2:
params.mapType = "none"; // 空白地图
break;
}
this.updateMap(params);