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,
                  //     });
                  // });
              })
              
            }
相关推荐
YAY_tyy3 分钟前
Turfjs 性能优化:大数据量地理要素处理技巧
前端·3d·arcgis·cesium·turfjs
hhcccchh3 分钟前
学习vue第十二天 Vue开发工具链指南:从手工作坊到现代化工厂
前端·vue.js·学习
Yeats_Liao5 分钟前
模型选型指南:7B、67B与MoE架构的业务适用性对比
前端·人工智能·神经网络·机器学习·架构·deep learning
念念不忘 必有回响6 分钟前
Vue页面布局与路由映射实战:RouterView嵌套及动态组件生成详解
前端·javascript·vue.js
冰暮流星7 分钟前
javascript数据类型转换-转换为数字型
开发语言·前端·javascript
—Qeyser9 分钟前
Flutter StatelessWidget 完全指南:构建高效的静态界面
前端·flutter
AIGCExplore10 分钟前
Jenkins 自动构建编译 Spring Boot 和 Vue 项目
vue.js·spring boot·jenkins
Tab60919 分钟前
接入谷歌home/assistant/智能音箱
服务器·前端·智能音箱
倚栏听风雨19 分钟前
深入浅出 TypeScript 模块系统:从语法到构建原理
前端
小高00725 分钟前
2026 年,只会写 div 和 css 的前端将彻底失业
前端·javascript·vue.js