更新记录

1.1.0(2023-03-22)

本次主要更新: 1.增加module组件,组件不用改名,即可使用

1.0.0(2022-09-14)

新版首发


平台兼容性

Android Android CPU类型 iOS
适用版本区间:4.4 - 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原生插件配置”->”云端插件“列表中删除该插件重新选择


KJ-MapSearch

行政区划边界查询、官方高德地图扩展、支持vue和nvue

注意事项

manifest.json -> app模块配置 -> Maps -> 高德地图 勾选  配置正确key

如需要支持vue,需要购买离线包或者源码,才能支持

使用

<template>
    <view class="content">
        <map id="map" class="map" ref="map" :scale="scale"></map>
        <button type="primary" @click="init">初始化</button>
        <button type="primary" @click="add1">添加全国划边界</button>
        <button type="primary" @click="add2">添加江西省行政区划边界</button>
        <button type="primary" @click="add3">添加广东省行政区划边界</button>
        <button type="primary" @click="add4">添加北京市行政区划边界</button>
        <button type="primary" @click="getAddedKeywords">获取添加边界的关键字</button>
        <button type="primary" @click="removeAll">删掉所有边界</button>
        <button type="primary" @click="remove">删掉某个边界</button>
    </view>
</template>

<script>
    const KJMapSearch = uni.requireNativePlugin('KJ-MapSearch');
    export default {
        data() {
            return {
                title: 'Hello',
                polygons: null,
                scale: 4
            }
        },
        onLoad() {
            setTimeout((res) => {
                this.init();
            }, 500)
        },
        onReady() {

        },
        methods: {
            init() {
                KJMapSearch.init((res) => {
                    console.log("init:" + JSON.stringify(res))
                })
            },
            add(keywords) {
                /**
                 * keywords - 关键字 比如广东省 广州市 海珠区
                 * requireExtension - 是否返回边界坐标
                 * subdistrict - 子区域层级,默认1。规则:设置显示下级行政区级数(行政区级别包括:国家、省/直辖市、市、区/县、乡镇/街道多级数据)
                 * 可选值:0、1、2、3等数字,0-不返回下级行政区;1-返回下一级行政区;2-返回下两级行政区;3-返回下三级行政区
                 * */
                var dic = {
                    "keywords": keywords,
                    "requireExtension": true,
                    "subdistrict": 1
                }
                if (plus.os.name == 'Android') {
                    dic.polygon = {
                        "fillColor": '#55000000', //注意:如需要设置透明度,前面两位是透明度
                        "strokeWidth": "5.0", //线的宽度
                        "strokeColor": '#cdb409', //线的颜色 注意:如需要设置透明度,前面两位是透明度
                        "moveCenter": { //是否 移动到边界的中心点,如果不需要移动,删掉即可
                            "zoom": "6" //地图的缩放等级
                        }
                    }
                } else {
                    dic.polygon = {
                        "fillColor": '#000000', //注意:ios不能直接设置透明
                        "fillColorAlpha": 0.5, //填充透明度
                        "strokeWidth": "5.0", //线的宽度
                        "strokeColor": '#cdb409', //线的颜色 注意:ios不能直接设置透明
                        "strokeColorAlpha": 1, //线的透明度
                        "isSetVisibleMapRect": true, //根据边界,铺面整个屏幕
                        // "moveCenter": { //是否 移动到边界的中心点,如果不需要移动,删掉即可
                        //  "zoom": "6" //地图的缩放等级
                        // }
                    }
                }
                console.log("dic:" + JSON.stringify(dic))
                KJMapSearch.remove(dic, (res) => {
                    console.log("remove:" + JSON.stringify(res))
                });
                KJMapSearch.add(dic, (res) => {
                    console.log("add:" + JSON.stringify(res))
                }, (res) => {
                    console.log("错误:" + JSON.stringify(res))
                })
            },
            add1() {
                this.add("中国")
            },
            add2() {
                this.add("江西省")
            },
            add3() {
                this.add("广东省")
            },
            add4() {
                this.add("北京市")
            },
            getAddedKeywords() {
                KJMapSearch.getAddedKeywords((res) => {
                    console.log("getAddedKeywords:" + JSON.stringify(res))
                });
            },
            removeAll() {
                KJMapSearch.removeAll((res) => {
                    console.log("removeAll:" + JSON.stringify(res))
                });
            },
            remove() {
                var dic = {
                    "keywords": "中国"
                }
                KJMapSearch.remove(dic, (res) => {
                    console.log("remove:" + JSON.stringify(res))
                });
            }
        }
    }
</script>
<style>
    .map {
        width: 750rpx;
        height: 500px;
    }
</style>

隐私、权限声明

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

andorid: "<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_NETWORK_STATE\" />", "<uses-permission android:name=\"android.permission.ACCESS_WIFI_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.WRITE_EXTERNAL_STORAGE\" />", "<uses-permission android:name=\"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS\" />", "<uses-permission android:name=\"android.permission.BLUETOOTH\" />", "<uses-permission android:name=\"android.permission.BLUETOOTH_ADMIN\" />" ios:NSLocationAlwaysAndWhenInUseUsageDescription NSLocationWhenInUseUsageDescription

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

插件自身不采集任何数据,插件使用的高德地图 SDK采集数据请参考其官方说明:https://lbs.amap.com

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

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