Vue2使用高德地图实现标点

1、下包

npm i @amap/amap-jsapi-loader

2、引入高德key和秘钥

window._AMapSecurityConfig = {
  securityJsCode: "秘钥",
};
import AMapLoader from "@amap/amap-jsapi-loader";

3、标签

<div id="container"></div>

4、代码区域:

data() {
    return {
      map: null, //初始化 map 对象
      markers: [], // 存储标点
      infoWindowData: [//数据可自行修改
        {
          lng: 116.39,
          lat: 39.92,
        },
        { 
          lng: 116.42,
          lat: 39.92 
        },
        {
          lng: 116.41,
          lat: 39.91,
        },
        {
          lng: 116.42,
          lat: 39.91,
        },
        {
          lng: 116.42,
          lat: 39.91,
        },
      ],
    };
  },
  mounted() {
    this.initMap();
  },
  methods: {
    // 初始化地图,画地图
    initMap() {
      const MAP_PLUGINS = ["AMap.Marker"];
      AMapLoader.load({
        key: "高德申请的key",
        version: "2.0",
        plugins: MAP_PLUGINS,
      })
        .then((AMap) => {
          const map = new AMap.Map("container", {
            viewMode: "3D", //是否为3D地图模式
            terrain: true,
            zoom: 13,
            center: [116.42, 39.91],
          });
          this.map = map;
          // 创建点标点
          this.createMarkers();
        })
        .catch((error) => {
          console.log(error);
        });
    },
    // 创建点标点
    createMarkers() {
      const markers = [];
      console.log(this.infoWindowData);
      for (let i = 0; i < this.infoWindowData.length; i++) {
        const positions = [
          this.infoWindowData[i].lng,
          this.infoWindowData[i].lat,
        ];
        const icon = new AMap.Icon({
          size: new AMap.Size(20, 30), // 设置图标的宽度和高度
          imageSize: new AMap.Size(20, 30), // 设置图标显示时的大小
          image: "https://webapi.amap.com/theme/v1.3/markers/n/mark_r.png", // 自定义图标的 URL
        });
        const marker = new AMap.Marker({
          position: positions,
          map: this.map,
          icon: icon,
        });
        markers.push(marker);
      }
      this.markers = markers;
      // 缩放地图到合适的视野级别
      this.map.setFitView();
    },
  },

4、效果如下:

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值