Vue使用高德地图(快速上手)

1.在高德平台注册账号

2.我的 > 管理管理中添加Key

3.安装依赖

  1. npm i @amap/amap-jsapi-loader --save

  2. yarn add @amap/amap-jsapi-loader --save

4.导入 AMapLoade

复制代码
   import AMapLoader from '@amap/amap-jsapi-loader';

5.直接上代码,做好了注释(初始化地图,地图点位标注,点击获取点位)

javascript 复制代码
  /**
     * Date:2024/3/7
     * Author:zx
     * Function:【初始化地图】
     * @param 无
     */
        const map = ref(null);  //创建地图对象
        const current_position = ref([]); //坐标信息
        // 添加声明(我用了ts  所以添加了声明)
        declare global {
            interface Window {
                _AMapSecurityConfig: {
                    securityJsCode: string;
                };
            }
        }
        function initMap() {
            //ts方式
            window._AMapSecurityConfig = {
                securityJsCode: '2f76e6002c827833b868c49c79c29ef5', //申请的秘钥
            }
            //js方式
            window._AMapSecurityConfig = {
                securityJsCode: ''//申请好的秘钥
            }

            AMapLoader.load({
                key:"0571e495604a2cc3688133e281444a75", // 申请好的Web端开发者Key,首次调用 load 时必填
                version:"2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
                // plugins:[''], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
            }).then((AMap)=>{
                map.value = new AMap.Map("containerGd",{  //设置地图容器id
                    viewMode:"2D",    //是否为3D地图模式
                    zoom:15,           //初始化地图级别
                    center: current_position.value, //初始化地图中心点位置
                });
                      // 创建一个标记点
                    const marker = new AMap.Marker({
                    position: current_position.value, // 标记点的位置
                    map: map.value, // 要添加标记点的地图对象
                });
 
                // 如果需要添加多个标记点,可以重复创建 AMap.Marker 对象,并设置不同的位置
                  // const marker2 = new AMap.Marker({
                  //     position: [116.407428, 39.90923],
                  //     map: map.value,
                  // });
 
 
                   // 监听地图的点击事件
                  // map.value.on('click', function(e:any) {
                  //     // 创建一个标记点
                  //     const marker = new AMap.Marker({
                  //         position: e.lnglat, // 点击位置的经纬度
                  //         map: map.value,
                  //     });
                  // });
              })
              
            }
相关推荐
GinoWi12 分钟前
HTML基本格式 - 第一个HTML网页
前端
顶鲜花的牛粪15 分钟前
Astro 项目升级全栈:EdgeOne Pages 部署指南
前端
0***R51526 分钟前
前端云原生
前端·云原生
月弦笙音36 分钟前
【Promise.withResolvers】发现这个api还挺有用
前端·javascript·typescript
疯狂踩坑人38 分钟前
MCP理论和实战,然后做个MCP脚手架吧
前端·node.js·mcp
中杯可乐多加冰42 分钟前
基于 DeepSeek + MateChat 的证券智能投顾技术实践:打造金融领域的专属大Q模型助手
前端·人工智能
凡人程序员42 分钟前
搭建简易版monorepo + turborepo
前端·javascript
丸子哥哥43 分钟前
同一个域名,如何添加多个网站?
服务器·前端·nginx·微服务
不努力也不会混43 分钟前
vite联邦实现微前端(vite-plugin-federation)
前端·vue.js
伍亿伍千万1 小时前
Uptime Kuma修改作为内嵌页面的自适应
前端