vue对接高德地图

vue对接高德地图

官网:https://lbs.amap.com/

目前对接的文档:https://lbs.amap.com/api/javascript-api/guide/abc/quickstart

没有太多时间解释,先做一个案例。不用其他插件,只需要这句代码即可执行,没有在其其他文件中做任何配置。

<template>
  <div>
    <div id="container"></div>
    <input
      type="text"
      readonly="true"
      id="lnglat"
      value="106.679559, 26.559994"
    />
  </div>
</template>

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=af261609c943b01b28c7cf835c5344df"></script> 
<script>
export default {
  data() {
    return {
      gpsapi: [106.679559, 26.559994],
    };
  },

  components: {},

  created() {},
  methods: {},

  mounted() {
    window.onLoad = function () {
      var markers = [];
      var map = new AMap.Map("container", {
        pitch: 60, // 地图俯仰角度,有效范围 0 度- 83 度
        zoom: 17, //级别
        center: [sessionStorage.getItem("lng"), sessionStorage.getItem("lat")], //中心点坐标
        viewMode: "3D", //使用3D视图
        resizeEnable: true, // 获取鼠标点的位置
      });
      // 创建一个 Marker 实例:
      var marker = new AMap.Marker({
        position: new AMap.LngLat(
          sessionStorage.getItem("lng"),
          sessionStorage.getItem("lat")
        ), // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
      });
      //   将创建的点标记添加到已有的地图实例:
      map.add(marker);
      // 将标记添加到数组中
      markers.push(marker);

      //为地图注册click事件获取鼠标点击出的经纬度坐标
      map.on("click", function (e) {
          // 移除已创建的 marker
        map.remove(markers);
        sessionStorage.setItem("lng", e.lnglat.lng);
        sessionStorage.setItem("lat", e.lnglat.lat);
        // 创建一个 Marker 实例:
        var marker = new AMap.Marker({
          position: new AMap.LngLat(
              // 将经纬度保存到浏览器中,以为这里采用的是document操作,而vue不是使用document操作的,所以保存到浏览器中作为中间数据传输对象
            sessionStorage.getItem("lng"),
            sessionStorage.getItem("lat")
          ), // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]
        });
        markers.push(marker);
        // 将创建的点标记添加到已有的地图实例:
        map.add(marker);
      });
    };

    var key = "af261609c943b01b28c7cf835c5344df";
    var url = `https://webapi.amap.com/maps?v=1.4.15&key=${key}&callback=onLoad`;
    var jsapi = document.createElement("script");
    jsapi.charset = "utf-8";
    jsapi.src = url;
    document.head.appendChild(jsapi);
  },
};
</script>

<style>
#container {
  width: 100%;
  height: 2000px;
}
</style>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值