Vue3使用高德地图api

~~~~省略去高德申请key的步骤

1.npm安装

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

组件中引入:

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

<template>
    <div id="mapContainer"></div>
</template>

(window as any)._AMapSecurityConfig = {
  securityJsCode: “你申请的安全密钥”,
};

function initMap() {
  AMapLoader.load({
    key: "你的key", // key是必须的
    version: "2.0",
    plugins: [
      "AMap.DistrictSearch",
      "AMap.DistrictExplorer",
      "AMap.Pixel",
      "AMap.Text",
      "AMap.Marker",
      "AMap.BezierCurve",
      "AMap.GeoJSON",
      "AMap.SecurityConfig",
      "AMap.Gradient",
    ],
  }).then((AMap: any) => {
    aMap = AMap;
    map = new AMap.Map("mapContainer", {
      viewMode: "3D", //地图是否开启3D
      center: [120.592, 29.845], //初始化地图中心点位置、
      zoom: 9.5,
      pitch: 45,
      zooms: [9.5, 20],
    });
    // 其他操作 参考高德API官网

   // 还可在高德中调取当地的天气
   // 获取当前城市的天气
    AMap.plugin("AMap.CitySearch", function () {
      let citySearch = new AMap.CitySearch();
      citySearch.getLocalCity(function (status: any, result: any) {
        if (status === "complete" && result.info === "OK") {
          AMap.plugin("AMap.Weather", function () {
            let weather = new AMap.Weather();
            //执行实时天气信息查询
            weather.getLive(result.city, function (err: any, data: any) {
              console.log(data);//天气对象
            });
          });
        }
      });
    });
  });
}

onMounted(() => {
  initMap();
});

onUnmounted(() => {
  //销毁地图
  map.destroy();
});


#mapContainer {
  width: 600px;
  height: 600px;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值