更新记录

1.0.4(2023-10-22)

  • Android连续定位返回定了类型、速度、高度

1.0.2(2023-09-07)

  • 优化定位
  • 修复已知问题

1.0.1(2023-08-30)

  • 定位可设置坐标系类型
查看更多

平台兼容性

Android Android CPU类型 iOS
适用版本区间:5.0 - 12.0 armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 适用版本区间:11 - 16

原生插件通用使用流程:

  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原生插件配置”->”云端插件“列表中删除该插件重新选择


特别提醒

  • 购买本插件前,请先试用,并充分自测确认满足需求之后再行购买。虚拟物品一旦购买之后无法退款;
  • 如有使用上的疑问、bug,可以QQ群(345533496)反馈;
  • 请在合法范围内使用,若使用本插件做非法开发,本方概不负责;
  • 请仔细阅读文档结合示例demo测试有问题加q联系作者;

插件功能介绍

1.定位、连续定位、后台定位(Android需要使用保活定位)

2.基础地图功能,地图功能点:显示定位点、设置地图中心点、点标记(点击点回调)、点聚合、获取地图中心点坐标、轨迹回放(可控制速度、开始暂停)、绘制线段、绘制区域。

3.检索功能,suggestion检索、POI检索(关键字、周边检索)、POI详情检索。

4.坐标系转换、计算两点距离。

5.地理编码与逆地理编码。

6.天气服务

7.热力图

8.地图截屏

Android保活设置

  1. 开启定位、后台定位权限,通知管理允许通知,允许自启动;

  2. 耗电保护允许后台运行;

  3. 电池设置中关闭智能耗电保护、省电模式、应用速冻等。

注意事项:

  1. 本插件使用需要勾选Geolocation、Msps模块。填入申请的百度定位和地图的;

  2. iOS保活和后台定位需要在manifest.json -> App常用其它设置 中配置定位的后台运行能力;

  3. Android手机型号太多,各品牌对手机的限制不尽相同,需要保活而进行的设置也不一样。随着Android系统的更新迭代,保活的难度也在不断加大。最有效的保活方式还是联系厂家添加白名单以实现进程保活。

插件使用

定位

定位需要注意的地方: 1.iOS保活和后台定位需要在manifest.json -> App常用其它设置 中配置定位的后台运行能力。 2.iOS后台定位定位间隔不能设置太大,应小于12秒 3.Android后台定位,请使用保活定位。

  • 引入插件
const bdLocationModule = uni.requireNativePlugin('LY-DCBdMap-LocationModule');
  • 设置定位坐标类型支持设置(bd09ll、gcj02、bd09、wgs84(wgs84仅iOS支持))默认bd09ll,设置定位经纬度需在定位前设置。需要修改坐标类型需重新调用下面方法。
bdLocationModule.setLocationCoorType("gcj02") 
  • 单次定位
/**
* reGeocode:是否带有逆地理信息(获取逆地理信息需要联网)
*/
bdLocationModule.startOnceLocationWithReGeocode({
    reGeocode: true, //定位是否返回逆地理信息 默认不返回
    reGeocodeTimeout: 10, //获取地址信息超时
    locationTimeout: 10 //设置位置获取超时时间 默认10秒
    // openGps:false
}, res => {
    // res ={"province":"浙江省","locationDescribe":"在浙江联运知慧科技有限公司附近","street":"五洲路","countryCode":"0","cityCode":"179","town":"临平街道","lat":30.44676187736189,"code":"200","city":"杭州市","district":"临平区","lng":120.26363708577145,"streetNumber":"98","country":"中国","msg":"定位成功"}
    if (res.code == 200) {
        console.log(res)
    }
});
  • 连续定位
bdLocationModule.startUpdatingLocation({
        reGeocode: true, //定位是否返回逆地理信息 默认不返回
        isAllow: true, //开启后台定位,默认不开启(Android后台定位需要使用保活定位,按官方设置后台定位没有效果)
        //连续定位间隔 默认10秒 (iOS sdk没有设置连续定位间隔的api,插件内部启动定时器来控制开始结束定位。所以这里设置locationInterval大于10时会影响后台定位)
        locationInterval: 10,//定位间隔
        locationTimeout: 10, //设置位置获取超时时间 默认10秒
        reGeocodeTimeout: 10, //设置获取地址信息超时时间 默认10秒
        openGps:true
    }, res => {
        // res ={"province":"浙江省","locationDescribe":"在浙江联运知慧科技有限公司附近","street":"五洲路","countryCode":"0","cityCode":"179","town":"临平街道","lat":30.44676187736189,"code":"200","city":"杭州市","district":"临平区","lng":120.26363708577145,"streetNumber":"98","country":"中国","msg":"定位成功"}
        this.localCount++;
        // res.loc_type定位类型 --- 61 gps定位成功 66:离线定位成功  161:网络定位成功---仅Android有效
        //altitude--高度--仅Android有效--需设置openGps:true
        //speed--速度仅Android有效 --需设置openGps:true
        uni.showToast({
            title: "定位成功次数:" + this.localCount,
            icon: 'none',
            duration: 1500
        })
        console.log(res)
    })
  • 取消连续定位
bdLocationModule.stopUpdatingLocation();
  • 保活定位(Android独有)
bdLocationModule.keepAlive({
        locationInterval: 5 //连续定位间隔--默认10秒
    }, res => {
        this.localCount++;
        uni.showToast({
            title: "定位成功次数:" + this.localCount,
            icon: 'none',
            duration: 1500
        })
    })
  • 取消保活
bdLocationModule.nonKeepAlive();

经纬度转换

经纬度转换悉知:其他坐标系转bd09ll是sdk自带的算法,bd09ll转其他坐标系是作者自己网上找的算法。

  • 引入插件
const bdLocationModule = uni.requireNativePlugin('LY-DCBdMap-LocationModule');
<!--计算两点距离-->
let distance = bdLocationModule.calculateLineDistance(30.46364402770996, 120.26363708577145,
                    30.46364402770996, 120.25363708577145);
<!--gcj02ToBd09-->
let result = bdLocationModule.gcj02ToBd09(30.440541199534238, 120.25721120983569);
console.log(result)
<!--wgs84ToBd09-->
let result = bdLocationModule.wgs84ToBd09(30.44676187736189, 120.26363708577145);
<!--bd09ToWgs84-->
let result = bdLocationModule.bd09ToWgs84(30.44676187736189, 120.26363708577145);
<!--gcj02ToWgs84-->
let result = bdLocationModule.gcj02ToWgs84(30.44676187736189, 120.26363708577145);
<!--bd09ToGcj02-->
let result = bdLocationModule.bd09ToGcj02(30.44676187736189, 120.26363708577145);
<!--bd09ToBdmc-->
let result = bdLocationModule.bd09ToBdmc(30.44676187736189, 120.26363708577145);
<!--bdmcToBd09 iOS独有-->
let result = bdLocationModule.bdmcToBd09(30.44676187736189, 120.26363708577145);

地理编码

  • 引入插件
const bdGeocodModule = uni.requireNativePlugin('LY-DCBdMap-GeocodModule');
<!--地理编码-->
bdGeocodModule.geoCodeWithAddress("杭州市", "萧山机场L滑项目苏交科第三方试验室", res => {
    console.log(res)
    /*
    res={
                    "lat": 30.446830627926587,
                    "lng": 120.26416726404193,
                    "code": 200,
                    "msg": "地理编码成功"
    }
    */
})
<!--逆地理编码-->
bdGeocodModule.reverseGeoCodeWithLatLng("30.241615", "120.441188", res => {
    console.log(res)
    /*
    res={
        "adCode": 179,
        "address": "浙江省杭州市临平区五洲路98",
         "code": 200,
        "msg": "逆地理编码成功"
    }
    */
})
<!--释放资源-->
bdGeocodModule.destroyGeoCode();

地图

地图使用component必须在nvue中使用

点聚合、标记

详请请参考示例demo pointMap.nuve页面

  • 引入插件
const bdLocationModule = uni.requireNativePlugin('LY-DCBdMap-LocationModule');

<ly-bdMap ref="bdMap" style="width: 750rpx;flex: 1;" :bubbleBackdrop="bubbleBackdrop" :aggregationColors="aggregationColors" :zoomControlsEnabled="zoomControlsEnabled" :zoomLevel="zoomLevel" :showMapScaleBar="showMapScaleBar"
            :mapType="mapType" :showsUserLocation="showsUserLocation" :isAggregation="isAggregation"
            :showAllPoint="showAllPoint" @clickAnnotationView="clickAnnotationView"
            @annotationViewForBubble="annotationViewForBubble" @onMapCenterLatLng="onMapCenterLatLng" @onMapClick="onMapClick" @onMapPoiClick="onMapPoiClick"></ly-bdMap>
  • 参数说明
参数 类型 说明
bubbleBackdrop String maker气泡图片路径(Android独有)
zoomControlsEnabled bool 地图缩放空间显隐(Android独有)
zoomLevel int 地图初始等级(4-21)
showMapScaleBar bool 是否显示比例尺
mapType String 地图类型(standard标准、satellite卫星)
showsUserLocation bool 是否显示定位点
isAggregation bool 是否点聚合 --默认不聚合
showAllPoint bool 所有点显示在屏幕中 isAggregation=false有效
aggregationColors object 点聚合不同数量的背景色,详细见下表
clickAnnotationView function 点击点标记回调(详情见示例demo--pointMap)
annotationViewForBubble function 点击气泡回调(详情见示例demo--pointMap)
onMapClick function 点击地图空白处回调(详情见示例demo--pointMap)
onMapPoiClick function 点击地图建筑物回调(详情见示例demo--pointMap)
onMapCenterLatLng function 拖拽地图后返回地图中心点经纬度(详情见示例demo--pointMap)
  • aggregationColors 点聚合不同数量背景色说明
参数 类型 说明
firstStage String "#FF00FF"(HEX色值2-5个点)
secondStage String "#FF00FF"(HEX色值5-10个点)
thirdStage String "#FF00FF"(HEX色值10-20个点)
otherStage String "#FF00FF"(HEX色值大于20个点)
<!--管理生命周期-->
onShow() {
    if (this.$refs.bdMap != null) {
        this.$refs.bdMap.mapViewWillAppear();
    }
},
onHide() {
    this.$refs.bdMap.mapViewWillDisappear();
},
onLoad() {
//百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型可设置"BMK_COORDTYPE_COMMON"(gcj02),"BMK_COORDTYPE_BD09LL(bd09ll)"
    bdLocationModule.setCoordinateTypeUsedInBaiduMapSDK("BMK_COORDTYPE_BD09LL", res => {
        if (res.result == 1 || res.result == true) {
            uni.showToast({
                icon: 'none',
                title: '设置成功',
                duration: 1500
            })
        }
    })
},
onUnload() {
    //释放资源
    this.$refs.bdMap.mapDestroy();
    bdPoiModule.destroy();
},
  • uni调原生函数

1、更新地图中心点--传入经纬度

this.$refs.bdMap.changeMapViewCenterCoordinate({
    centerLng: "120.26363708577145",
    centerLat: "30.44676187736189"
});

2、更新地图点绘制数据

let data = [];
    for (let i = 0; i < 30; i++) {
        let lat = Math.random() * 100 * 0.001;
        let lng = Math.random() * 100 * 0.001;
        let latStr = 30.447782 + lat + "";
        let lngStr = 120.279072 + lng + "";
        let dict = {
            lat: latStr,//点纬度
            lng: lngStr,//精度
            //点icon
            iconPath: i % 2 == 0 ? plus.io.convertLocalFileSystemURL('/static/icon_annotation1.png') : plus.io.convertLocalFileSystemURL('/static/icon_annotation2.png'),
            //点标题
            title: "大郎的西瓜" + i
        };
        data.push(dict)
    }

    this.$refs.bdMap.uploadPointPolymerization({
        datasource: data
    });

3、清空所有点

this.$refs.bdMap.removeAllAnnotation();

4、地图截屏

var imagePath = plus.io.convertLocalFileSystemURL("_doc/snapshotPath");
let time = new Date().getTime();
var name = time + ".jpg"
this.$refs.bdMap.snapshot({
    path: imagePath,
    name: name
}, res => {
    this.path = res.result
    uni.navigateTo({
        url: `./showSnapshot?path=${res.result}`
    })
})

5、清除截屏图片路径

bdLocationModule.clearPath(this.path, res => {
    uni.showToast({
        icon: "none",
        title: res.result ? "删除成功" : "删除失败"
    })
})

POI检索

引入插件

//poi搜索
const bdPoiModule = uni.requireNativePlugin('LY-DCBdMap-PoiModule');

suggestion搜索

// 城市:必传  关键字:必传
bdPoiModule.requestSuggestion("杭州", "银", res => {
        console.log(res)
        if(res.code == 200){
            this.poiList = res.result
        }
        /*
        //返回值
        res={
            "code":"200",
            "result":[
                {
                    "lat": 30.25797,
                    "district": "上城区",
                    "key": "杭州湖滨银泰in77C2区",
                    "lng": 120.171296,
                    "city": "杭州市",
                    "tag": "购物中心",
                    "address": "杭州市-上城区-延安路258号",
                    "uid": "881864e2256b1bad77e5b679",
                    "poiChildrenInfoList":[
                        {
                            "lat": "",
                            "lng": "",
                            "tag": "",
                            "address": "",
                            "name": "湖滨银泰in77C区-出入口 杭州市上城区",
                            "showName": "出入口",
                            "uid": "a6f45c265314829546e27431"
                        }
                    ]
                }
            ]
        }
        */
    })
},

城市关键字检索

bdPoiModule.searchInCity({
                    city: "杭州",//城市必填
                    keyword: "美食",//关键字必填
                    pageCapacity: "10",//每页数据条数 默认10
                    pageNum: '0',//当前页码
                    tag: ""//标签 如:"美食"
                }, res => {
                    /*
                                        res={
                                            "code": 200,
                                            "result": [{
                                                "streetId": "1675f1eefa9b7c990f0e6beb",
                                                "lat": 30.446599,
                                                "phoneNum": "13868073317",
                                                "city": "杭州市",
                                                "lng": 120.273909,
                                                "area": "临平区",
                                                "province": "浙江省",
                                                "name": "老年根里",
                                                "address": "浙江省杭州市临平区绿洲路319号-323号",
                                                "uid": "1675f1eefa9b7c990f0e6beb"
                                            }],
                                        }
                                        */
                    console.log(res)
                    if(res.code == 200){
                        this.poiList = res.result
                    }
                })

周边检索(已传入的经纬度为圆心,传入的值为半径搜索)

bdPoiModule.searchNearby({
                    lat: "30.44676187736189", //中心点纬度
                    lng: "120.26363708577145", //中心点经度
                    radius: "10000", //半径
                    pageNum: "0", //page下标
                    pageCapacity: "10", //每页数据条数
                    iosKeyword:'美食',//iOS关键字可以多个(用因为,隔开最多10个),为了区分安卓,iOS特有字段
                    keyword: "美食" //关键字
                }, res => {
                    /*
                    res={
                        "code": 200,
                        "result": [{
                            "streetId": "1675f1eefa9b7c990f0e6beb",
                            "lat": 30.446599,
                            "phoneNum": "13868073317",
                            "city": "杭州市",
                            "lng": 120.273909,
                            "area": "临平区",
                            "province": "浙江省",
                            "name": "老年根里",
                            "address": "浙江省杭州市临平区绿洲路319号-323号",
                            "uid": "1675f1eefa9b7c990f0e6beb"
                        }],
                    }
                    */
                    console.log(res)
                    if(res.code == 200){
                        this.poiList = res.result
                    }
                })

POI详情检索

bdPoiModule.searchPoiDetail({
//多个uid用逗号(英文,)分割,最多10个
    uids: "a6f45c265314829546e27431"
}, res => {
    console.log(res)
})

释放资源

bdPoiModule.destroy();

轨迹回放

  • 引入插件
//用于设置地图坐标类型
const bdMapModule = uni.requireNativePlugin('LY-DCBdMap-LocationModule');
  • 使用&参数说明
<ly-trackPlaybackMap ref="trackPlaybackMap" style="width: 750rpx;flex: 1;" :annotationConfig="annotationConfig"
            :trajectoryType="trajectoryType" @trackPlaybackHandle="trackPlaybackHandle"
            @clickAnnotationView="clickAnnotationView"
            @annotationViewForBubble="annotationViewForBubble"></ly-trackPlaybackMap>
参数 类型 说明
annotationConfig object annotation设置,包过路径宽度,背景色等详情见下表annotationConfig 介绍
trajectoryType String 区域还是折线(Polygon:区域 Polyline:折线)
trackPlaybackHandle function 轨迹回放进度回调
clickAnnotationView function 点击maker回调
annotationViewForBubble function 点击气泡回调
  • annotationConfig 介绍
参数 类型 说明
annotationStarIcon String 起点的icon路径,不需要可不传,使用方法见示例demo(trackPlay.nvue)
annotationEndIcon String 终点icon路径,使用方法见示例demo(trackPlay.nvue)
annotationMoveIcon String 移动小车icon路径,这里小车切图的方向需与示例demo中的小车一致
strokeColor String 轨迹背景色(hex色值如:”#99ffFF“)
lineWidth String 轨迹宽度
lineAlpha String 轨迹背景色透明度(0~1.0)
  • 设置地图坐标
bdMapModule.setCoordinateTypeUsedInBaiduMapSDK("BMK_COORDTYPE_BD09LL", res => {
                if (res.result == 1 || res.result == true) {
                    uni.showToast({
                        icon: 'none',
                        title: '设置成功',
                        duration: 1500
                    })
                }
            })
  • 更新轨迹
let data = [{
                        lat: "30.446793",
                        lng: "120.264038"
                    },
                    {
                        lat: "30.444731",
                        lng: "120.264556"
                    },
                    {
                        lat: "30.446241",
                        lng: "120.267592"
                    },
                    {
                        lat: "30.447362",
                        lng: "120.271024"
                    },
                    {
                        lat: "30.449028",
                        lng: "120.269775"
                    },
                    {
                        lat: "30.448638",
                        lng: "120.268859"
                    },
                    {
                        lat: "30.449728",
                        lng: "120.267691"
                    },
                    {
                        lat: "30.448996",
                        lng: "120.266182"
                    }
                ];

                this.$refs.trackPlaybackMap.uploadTrackPlayback({
                    datasource: data,
                    startPointTitle: "起点",
                    endPointTitle: "终点",
                    movePointTitle: "京A88888",
                    movePointSubTitle: "杨师傅"
                });
  • 更新地图中心点
this.$refs.trackPlaybackMap.changeMapViewCenterCoordinate({
                    centerLng: "120.26363708577145",
                    centerLat: "30.44676187736189"
                });
  • 开始/暂停动画
this.$refs.trackPlaybackMap.resumeOrPauseAnimation();
  • 设置动画速度
//正常速度
this.$refs.trackPlaybackMap.setSpeed(1);
//两倍速度
this.$refs.trackPlaybackMap.setSpeed(2);
//4倍速度
this.$refs.trackPlaybackMap.setSpeed(4);
//8倍速度
this.$refs.trackPlaybackMap.setSpeed(8);

天气服务

国内天气查询服务分为基础服务和高级权限。 在基础服务中,用户可通过行政区划代码查询实时天气信息及未来5天天气预报。 在高级权限中,用户可通过经纬度查询实时天气信息、未来7天天气预报及未来24小时逐小时预报。同时,用户还可以通过高级权限获取国内空气质量指数、生活指数、气象预警等丰富信息。(使用高级权限需先去申请)

注意:使用经纬度loaction字段发起天气检索和返回结果BMKSuggestionSearchResult中部分字段需要申请高级服务权限,首先需要进行企业认证, 之后需要提交工单申请这个权限, 并详细说明使用场景, 包括但不限于, 使用开放平台哪些产品及服务, 应用在贵方哪些产品及应用上以及该产品或应用的相关介绍, 预估使用配额多少等。另外需附带AK信息。

  • 引入查询天气模块
const weatherModule = uni.requireNativePlugin('LY-DCBdMap-WeatherModule');
  • 查询天气接口
let options = {
        // 使用经纬度查询需要高级权限,(自行去百度地图官网申请)在高级权限中,用户可通过经纬度查询实时天气信息、未来7天天气预报及未来24小时逐小时预报。同时,用户还可以通过高级权限获取国内空气质量指数、生活指数、气象预警等丰富信息。
        // 使用经纬度loaction字段发起天气检索和返回结果BMKSuggestionSearchResult中部分字段需要申请高级服务权限,首先需要进行企业认证, 之后需要提交工单申请这个权限, 并详细说明使用场景, 包括但不限于, 使用开放平台哪些产品及服务, 应用在贵方哪些产品及应用上以及该产品或应用的相关介绍, 预估使用配额多少等。另外需附带AK信息
        // latLng:{//根据经纬度获取与districtID二选一。
        //    lat:30.446959,
        //    lng:120.263738
        // },
        // 区县的行政区划编码
        districtID:"361003",
        // 天气服务类型,默认国内
        serverType:0,//0:国内  1:国外
        // 天气数据类型
        dataType:1,//1:实时天气预报 2:未来五天天气预报 3:按小时天气预报,高级字段 4:生活指数,仅支持国内,高级字段 5:天气事件预警,仅支持国内,高级字段 6:以上全部,高级字段获取对应权限后可返回
        // 语言
        languageType:0//0:中文 1:英文
    }
 weatherModule.weatherSearch(options,res=>{

})

参数说明:

参数 类型 说明
latLng objc 需要查询地方的经纬度(与districtID二选一,latLng优先级高),需要高级权限
districtID String 区县的行政区划编码(与latLng二选一,latLng优先级高)
serverType int 天气服务类型 0:国内 1:国外,默认国内
dataType int 天气数据类型1:实时天气预报 2:未来五天天气预报 3:按小时天气预报,高级字段 4:生活指数,仅支持国内,高级字段 5:天气事件预警,仅支持国内,高级字段 6:以上全部,高级字段获取对应权限后可返回
languageType int 0:中文 1:英文 默认中文

返回数据解析:

参数 类型 说明
location objc 地理位置信息,详情见下表location说明
realTimeWeather object 天气实况数据,详情见下表realTimeWeather说明
forecasts arr 未来5天天气数据,详情见下表forecasts说明
forecastHours arr 高级字段 未来24小时逐小时预报,详情见forecastHours说明
lifeIndexes arr 生活指数 高级字段,详情见lifeIndexes说明
weatherAlerts arr 气象预警 高级字段,详情见weatherAlerts说明

location说明:

参数 类型 说明
country string 国家
province string
city string 城市
district_name string 区县名称
district_iD string 区县ID

realTimeWeather说明:

参数 说明
relative_humidity 相对湿度
sensory_temp 体感温度
phenomenon 天气现象
wind_direction 风向描述
update_time 数据更新时间
temperature 温度
wind_power 风力等级
clouds 云量(高级字段)
hourly_precipitation 1小时累计降水量(mm),高级字段
visibility 能见度,高级字段
O3 臭氧浓度(μg/m3),高级字段,仅国内支持
PM2_5 pm2.5浓度(μg/m3),高级字段,仅国内支持
NO2 二氧化氮浓度(μg/m3),高级字段,仅国内支持
SO2 二氧化硫浓度(μg/m3),高级字段,仅国内支持
air_quality_index 空气质量指数数值,高级字段,仅国内支持
PM10 pm10浓度(μg/m3),高级字段,仅国内支持
CO 一氧化碳浓度(mg/m3),高级字段,仅国内支持

forecasts说明:对象数组下面对对象字段解释

参数 说明
date 日期,北京时区
week 星期,北京时区
lowest_temp 最低温度(℃)
highest_temp 最高温度(℃)
wind_power_day 白天风力
wind_power_night 晚上风力
wind_direction_day 白天风向
wind_directionr_night 晚上风向
phenomenon_day 白天天气气象
phenomenon_night 晚上天气气象
air_quality_index 空气质量指数数值,高级字段

forecastHours说明:24小时逐小时预报,需要高级权限,对象数组。

参数 说明
relative_humidity 相对湿度(%),高级字段
data_time 数据时间,高级字段
wind_direction 风向描述,高级字段
wind_power 风力等级,高级字段
temperature 温度(℃),高级字段
clouds 云量
phenomenon 天气现象,高级字段
hourly_precipitation 1小时累计降水量(mm),高级字段

lifeIndexes说明:生活指数,需要高级权限,对象数组

参数 说明
name 生活指数中文名称,高级字段
brief 生活指数概要说明,高级字段
detail 生活指数详细说明,高级字段

weatherAlerts说明:气象预警,需要高级权限,对象数组

参数 说明
type 预警事件类型,高级字段
level 预警事件等级,高级字段
title 预警标题,高级字段
desc 预警详细提示信息,高级字段

热力图

参考示例demo:heatMap.nvue

  • 引入模块
<ly-heatMapComponent style="width: 750rpx;flex: 1;" ref="heateMap"></ly-heatMapComponent>
  • 管理生命周期
onShow() {
    if (this.$refs.heateMap != null) {
        this.$refs.heateMap.heatMapResume();
    }
},
onHide() {
    this.$refs.heateMap.heatMapOnPause();
},
onUnload() {
    this.$refs.heateMap.heatMapOnDestroy();
},
  • 接口说明
//添加数据-- 数据格式[{"lng": 112.656745, "lat": 26.878653}]
this.$refs.heateMap.addHeatMapData(locations)

//删除热力图
this.$refs.heateMap.removeHeatMap();
//设置热力图背景色与透明度--需在添加数前调用
this.$refs.heateMap.configHeatMapProperty({
   //透明度
    opacity: 0.8,
    // 设置热力图渐变色用到的所有颜色数组 数组长度必须和startPoint相同且必须与startPoint同时传才有效-可不传
    colors: ["#00ffff", "#ff00ff", "#0000ff"],
    // 设置热力图每一个颜色的起始点数组 数组长度必须和colors相同且必须与colors同时传才有效-可不传
    startPoint: [0.3, 0.7, 1]
});

隐私、权限声明

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

iOS: "NSLocationWhenInUseUsageDescription", "NSLocationAlwaysAndWhenInUseUsageDescription", "NSLocationAlwaysUsageDescription" Android: 注意: manifest.json权限配置中不包含后台定位和前台服务,需要在源码中自行添加 "<uses-permission android:name=\"android.permission.FOREGROUND_SERVICE\" />", "<uses-permission android:name=\"android.permission.ACCESS_BACKGROUND_LOCATION\" />" <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />

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

插件会采集用户位置信息,插件使用百度地图定位SDK,参考其官方网站https://lbsyun.baidu.com/ 和隐私政策 https://lbsyun.baidu.com/index.php?title=openprivacy

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

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