更新记录

1.0.1(2021-12-30)

  1. 初始化百度地图
  2. 显示百度地图
  3. 修改地图样式

平台兼容性

Android iOS
× 适用版本区间:9 - 15

原生插件通用使用流程:

  1. 购买插件,选择该插件绑定的项目。
  2. 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
  4. 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
  5. 开发完毕后正式云打包

付费原生插件目前不支持离线打包。
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);

功能

支持定制,联系方式 QQ:252797991

如果觉得可以就点个👍吧,欢迎粉丝收藏,土豪打赏,您的关注就是我们创作的动力!

隐私、权限声明

1. 本插件需要申请的系统权限列表:

iOS: NSLocationAlwaysAndWhenInUseUsageDescription NSLocationAlwaysUsageDescription NSLocationWhenInUseUsageDescription

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用的 百度地图 SDK会采集数据,详情可参考:https://lbsyun.baidu.com/

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问