Vue3中使用腾讯地图

首先要到腾讯位置服务中创建应用和Key

帮助

获取到key后在index.html中引入引入API库

<script src="https://map.qq.com/api/gljs?v=1.exp&key=你的key"></script>

在组件中使用

主要代码:

<template>
    <div class="c-main">
        ....
        <div class="mapbox mt-20">
            <div class="map" id="tx_map_d"></div>
        </div>
    </div>
</template>

const TMap = (window as any).TMap;

const initMap = () => {
    let center = new TMap.LatLng(dataMap.latitude, dataMap.lngitude);
    dataMap.map = new TMap.Map('tx_map_d', {
        center: center,
        zoom: 11,
        viewMode: '2D',
    });
    // 绑定地图点击获取地理位置事件
    (dataMap.map as any).on('click', clickHandler);
    // 标记地图
    markerLayer();
};

 使用腾讯地图api:

解决跨域问题:

export default ({ mode }) =>
    defineConfig({
        ...
        server: {
            port: 8080,
            hmr: true,
            proxy: {
                '/ws': {
                    target: 'https://apis.map.qq.com',
                    changeOrigin: true,
                },
            },
        },
        ...
    });

然后使用axios封装api请求

export const getAddress = (data: any) => {
    return request({
        method: 'get',
        url: `/ws/geocoder/v1/?address=${data.address}&key=${data.key}`,
    });
};

页面引入使用

let params = {
    key: keys, // 填申请到的腾讯key
    address: address.value,
};
let { result } = await getAddress(params);
if (result) {
    ...
}

腾讯地图api

效果:

项目预览地址: http://www.yyyi1.cn/vitets/map

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值