Vue 中使用高德地图,并添加标记点

1,068 阅读1分钟

背景描述:

使用 uni-app 开发的 pc 端网页,需要内嵌一个地图。

样式如下:

image.png

步骤1:

打开高德地图开发者平台(高德开放平台 | 高德地图API (amap.com))

image.png

步骤2:

在要使用的页面中引入

import AMapLoader from "@amap/amap-jsapi-loader";

// 设置安全密钥
window._AMapSecurityConfig = {
    securityJsCode: 'XXXXXXXXXXXXXXXXXXXXXXXXXXX',  // 申请的密钥
}

image.png

步骤3:

因为我需要请求坐标显示在地图中,所以在 onLoad 中,请求接口后初始化的地图。

初始化方法如下

data() {
    return {
        map: null,
    }
}

----------------- 分割线 ------------------

// 地图初始化 方法
initMap() {
        AMapLoader.load({
            "key": "XXXXXXXXXXXXXXXXXXXXXXXXXXX",// TODO 申请的 key
            "version": "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
        }).then((AMap) => {
            // 初始化地图
            this.map = new AMap.Map('bai-du-map', {
                viewMode: "2D", //  是否为3D地图模式
                zoom: 15, // 初始化地图级别
                    center: [119.000000, 36.000000],
                resizeEnable: true
            });
            
            // 自定义标记点的内容
            var content = `
            <div style="width: 340px;height:100px;display: flex;flex-wrap: wrap;justify-content: center;">
                    <div style="background: #fff;width:340px;font-size: 14px;padding:15px 20px;border: 1px solid #A8ABB2;box-shadow: 1px 1px 5px 2px rgba(0,0,0,0.08);">
                            <p>客服电话:${this.footInfo.telephone}</p>
                            <p style="margin-top: 5px;">公司地址:${this.footInfo.address}</p>
                    </div>
                    <img src="/static/icon.png" style="width:30px;height:30px;margin-top:10px;"/>
            </div>
            `;

            var marker = new AMap.Marker({
                content: content,  // 自定义点标记覆盖物内容
                anchor:'bottom-center', // 设置锚点方位
                position: [119.000000, 36.000000], //标注点位置
                title: `鼠标移入显示的提示`, //标注点标题
                map: this.map //将标注点添加到地图上
            });

        }).catch(e => {
                console.log(e);
        });
},
注意:

1、修改一下key 改成平台中申请的那个

2、坐标我传的是 number 类型

3、自定义锚点内容的化,注意 设置锚点方位,我的标注点是最底下居中,所以设置了 anchor:'bottom-center'

image.png

高德地图API 地址

点标记-覆盖物-教程-地图 JS API | 高德地图API (amap.com)