Vue3集成高德离线地图实践

1. 离线地图效果预览

在这里插入图片描述
在这里插入图片描述

2. 地图下载器下载离线地图

根据需要选择地图,我这边选择高德地图,层级选择0-15级别即可,进行下载
在这里插入图片描述

3. 放到nginx内网服务器

注意配置允许跨域

4. Vue3核心代码

// main.js
// 初始化vue-amap
initAMapApiLoader({
  offline: true, // 主要开启离线地图
  plugins: [
    'AMap.Marker',
    'AMap.MassMarks', // 海量点
    'AMap.MouseTool', // 画图工具
    'AMap.Circle',
    'AMap.Bounds',
    'AMap.Icon',
    'AMap.Size',
    'AMap.Polygon',
    'AMap.Rectangle',
    'AMap.OverLayGroup',
    'AMap.GeoJSON',
    'AMap.LabelMarker',
    'AMap.HeatMap', // 热力图
    'AMap.ElasticMarker', // 灵活点标记
    'AMap.Autocomplete', // 输入提示插件
    'AMap.PlaceSearch', //  POI搜索插件
    'AMap.Scale', //  右下角缩略图插件 比例尺
    'AMap.OverView', // 地图鹰眼插件
    'AMap.ToolBar', //  地图工具条
    'AMap.MapType', //  类别切换控件,实现默认图层与卫星图、实施交通图层之间切换的控制
    'AMap.PolyEditor', // 编辑 折线多,边形
    'AMap.CircleEditor', // 圆形编辑器插件
    'AMap.Geolocation', // 定位控件,用来获取和展示用户主机所在的经纬度位置
  ],
  AMapUI: [
    'overlay/SimpleMarker',//SimpleMarker
    'overlay/SimpleInfoWindow',//SimpleInfoWindow
  ],//SimpleMarker
})

初始化时加载离线地图

// map.vue
 <el-amap
        :center="center"
        :zoom="zoom" @init="init">
 </el-amap>
 <scripts>
 methods: {
    init(map) {
      // eslint-disable-next-line no-undef
      let mapLayer = new AMap.TileLayer({
        getTileUrl: function (x, y, z) {
          return "https://map.sfxs.com/images/map/" + z + "/" + x + "/" + y + "/tile.png";
        },
        opacity: 1,
        zIndex: 1,
      })
      const self = this
      //pointer,default,move,crosshair
      map.setLayers([mapLayer])
      //pointer,default,move,crosshair
      map.setDefaultCursor('pointer')
      self.map = map
      this.initMouseTool();
    }
</scripts>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

算法小生Đ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值