更新记录

1.0.7(2024-09-02) 下载此版本

更改REDME文档

1.0.6(2024-09-02) 下载此版本

修复报错

1.0.5(2024-08-14) 下载此版本

修复App Vue不可用

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.7.0 app-vue × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

天地图位置选择

组件名:zhuo-tianditu-select

安装方式

HBuilderX 2.5.5,只需将本组件导入项目,在页面template中即可直接使用,无需在页面中import和注册components

开发不易,如果帮助到你的,请支持 有问题请留言,作者会积极更新

基本用法

    <!-- 天地图使用示例 -->
<zhuo-tianditu-select ref="tMap"api-key="******"></zhuo-tianditu-select>

Props

参数 说明 类型 默认值 可选值
apiKey 天地图密钥 必填 | Stirng ''
icon 自定义图标 (App必填) 可选 | Stirng ''
searchType 搜索方式,0:地名搜索,1:地理编码查询 可选 | Number 0 0 | 1
search 开启关闭搜索 可选 | Boolean true

Events

事件名 说明 回调参数
onLoad 天地图资源加载完成触发此事件
onSelect 点击完成按钮触发此事件 value:内容值

Methods

方法名 说明 参数
open 打开地图位置选择器 必填 |(lon, lat)
close 关闭地图位置选择器
upDateLonLat 设置中心点坐标 必填 |(lon, lat)
// 打开地图
this.$refs.tMap.open(104.397894, 31.126855)
// 关闭地图
this.$refs.tMap.close()
// 设置中心点
this.$refs.tMap.open(103.397894, 32.126855)

Slots

名称 说明 参数
cards 搜索列表、自定义样式(自动绑定事件,只需自己写样式即可) Row: 当前行数据;index:当前选中行
 <template v-slot:cards="{row, index}">{{row.address}}</template> 

示列代码

vue2

<template>
    <view class="content">
        <button @click="selectMap"> 选择地图 </button>
        <view v-if="point.address">
            <view>address: {{point.address}}</view>
            <view>lon: {{point.location.lon}}</view>
            <view>lat: {{point.location.lat}}</view>
        </view>
        <!-- 天地图使用示例 -->
        <zhuo-tianditu-select ref="tMap" :icon="icon" :searchType="0" api-key="******"
            @onLoad="LoadComplite" @onSelect="">
            <!-- 自定义cardList样式 事件有绑定,自己写样式即可 -->
            <!-- <template v-slot:cards="{row, index}">{{row.address}}</template> -->
        </zhuo-tianditu-select>
    </view>
</template>

<script>
    export default {
        data() {
            return {
                icon: null,
                point: {},
            }
        },
        onLoad() {
            // 自定义图片
            const that = this
            uni.getImageInfo({
                src: '../../static/position.png',
                success(res) {
                    that.icon = res.path
                },
            })
        },
        mounted() {},
        methods: {
            LoadComplite() {
                console.log('天地图加载完成')
            },
            (value) {
                this.point = value
            },
            selectMap() {
                // uni.getLocation({
                //     type: 'wgs84',
                //     success: function(res) {
                //         console.log('当前位置的经度:' + res.longitude);
                //         console.log('当前位置的纬度:' + res.latitude);
                //         that.$refs.tMap.open(res.longitude, res.latitude);
                //     },
                //     fail: function(err) {
                //         console.log('获取失败');
                //     },
                // });
                this.$refs.tMap.open(104.397894, 31.126855)
            }
        }
    }
</script>

Vue3:

<template>
    <view class="content">
        <button @click="selectMap"> 选择地图 </button>
        <!-- 天地图使用示例 -->
        <zhuo-tianditu-select ref="tMap" :icon="state.icon" :searchType="0" api-key="******">
        </zhuo-tianditu-select>
    </view>
</template>

<script setup>
    import {
        ref,
        reactive
    } from "vue";
    const tMap = ref()
    const state = reactive({
        icon: ''
    })
    const selectMap = () => {
        tMap.value.open(104.397894, 31.126855)
    };
</script>

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

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