@vuemap/vue-amap@vuemap/vue-amap
  • 1.x
  • vue2版本
更新日志
  • github
  • gitee
  • JSAPI文档
  • JSAPI示例地址
  • Loca API文档
  • Loca 示例地址
  • 掘金
  • CSDN
  • 1.x
  • vue2版本
更新日志
  • github
  • gitee
  • JSAPI文档
  • JSAPI示例地址
  • Loca API文档
  • Loca 示例地址
  • 掘金
  • CSDN
@vuemap/vue-amap
@vuemap/vue-amap-loca
@vuemap/vue-amap-extra
  • 基础

    • 简介
    • 安装
    • 脚本初始化
    • 兼容高德原生 SDK
    • Nuxt服务端渲染
    • 捐赠支持
    • 常见问题
    • 从1.x迁移
    • 离线JSAPI
    • 内置API
    • Typescript支持
  • 自定义

    • 自定义地图组件
    • 包装地图组件
  • 地图

    • 地图
    • 获取高德地图实例
    • 地图插件
  • hooks

    • IP定位获取当前城市信息
    • 天气查询服务
    • 定位
  • 控件

    • 比例尺
    • 地图操作工具
    • 地图控制
    • 地图类型切换
    • 鹰眼控件
    • POI搜索
    • 定位
  • 高德官方图层

    • 默认图层
    • 切片图层
    • 实时交通图层
    • 卫星图层
    • 路网图层
    • 建筑楼块3D图层
    • 简易行政区划图
    • 室内图层
  • 行业标准图层

    • WMS图层
    • WMTS图层
    • 矢量瓦片块图层
  • 自有数据图层

    • 矢量标记图层
    • 热力图
    • 标注层
    • 自定义图层
    • 灵活切片图层
    • 图片图层
    • Canvas图层
    • Video图层
    • 3d自定义图层
    • 3DTiles图层
    • 区划聚合图层
    • 自定义瓦片纠偏图层
  • 点标记

    • 点标记
    • 海量标注
    • 文本
    • 灵活点标记
    • 点聚合
    • 海量点
  • 窗体

    • 信息窗体
  • 矢量图形

    • 多边形
    • 折线
    • 贝塞尔曲线
    • 圆形
    • 椭圆
    • 矩形
    • GeoJSON
  • 工具

    • 鼠标工具插件
  • @vuemap/vue-amap-loca组件

    • Loca
    • 环境光
    • 平行光
    • 点光
    • 圆点图层
    • 图标图层
    • 棱柱图层
    • 线图层
    • 面图层
    • 链接线图层
    • 热力图
    • 蜂窝网格图
    • 网格图
    • 贴地点图层
    • 轨迹线图层
    • 连接飞线图层
    • 垂直于大地表面的Marker图层
    • 激光图层
  • @vuemap/vue-amap-extra组件

    • ThreeJS的图层
    • Gltf模型加载
    • 灯光

      • 环境光
      • 平行光
      • 半球光
      • 点光源
      • 聚光灯
    • ThreeJS播放视频
    • ThreeJS面图层
    • 开源3dtiles方案

说明

警告

高德地图本身不支持离线加载,对于纯粹的内网部署需求可以走高德商务工单。当前离线部署方案主要用于希望使用高德JSAPI,然后使用自己的内部地图瓦片服务。因此有以下两点要求:

  • 只能使用离线的JSAPI文件和loca文件
  • 必须使用自己的瓦片服务,不可以使用内置的矢量图层、卫星图层、交通图层等

使用步骤

1.下载离线JS文件

在下面的下载工具中,输入申请的JSAPI的key,选择需要使用到的插件下载JSAPI,如果使用了loca组件,那么也需要下载loca离线文件。

警告

下列插件只展示了支持离线使用的插件。

2.放置离线文件

将下载的amap.min.js和loca.min.js放置在public目录下的js文件夹中。
在index.html中加载js文件,根据自己项目需要放置amap和loca文件,其中amap.min.js是必须放置的文件。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <link rel="icon" href="/favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vite App</title>
    <script type="text/javascript" src="/js/amap.min.js"></script>
    <script type="text/javascript" src="/js/loca.min.js"></script>
</head>
<body>
<div id="app"></div>
<script type="module" src="./main.ts"></script>
</body>
</html>

3.初始化地图组件库

由于使用了离线JS文件,那么初始化地图组件库时就就必须选择离线模式。 在main.ts中配置组件库。

import App from './App.vue'
import {initAMapApiLoader} from '@vuemap/vue-amap';
import '@vuemap/vue-amap/dist/style.css'
initAMapApiLoader({
  offline: true
})

createApp(App)
    .mount('#app')

4.使用组件库

以上步骤全部执行完后即可正常使用组件库,这时候地图初始化后会一片空白,需要使用瓦片图层加载自己的瓦片服务。

<template>
  <div style="height: 500px;">
    <el-amap
        view-mode="3D"
        :pitch="50"
        :center="center"
        :zoom="zoom"
    >
      <el-amap-layer-tile :tile-url="url"/>
      <el-amap-loca>
        <el-amap-loca-icon
            :source-data="sourceData"
            :layer-style="layerStyle"
        />
      </el-amap-loca>
    </el-amap>
  </div>
</template>

<script setup>
  import {ElAmap, ElAmapLayerTile} from '@vuemap/vue-amap'
  import {ElAmapLoca, ElAmapLocaIcon} from "@vuemap/vue-amap-loca";
  import {ref} from "vue";

  const center = ref([120, 31]);
  const zoom = ref(14)

  const url = 'https://wprd0{1,2,3,4}.is.autonavi.com/appmaptile?x=[x]&y=[y]&z=[z]&size=1&scl=1&style=8&ltype=11'

  const layerStyle = {
    unit: 'px',
    icon: 'https://a.amap.com/Loca/static/loca-v2/demos/images/traffic-control.png',
    iconSize: [40,40],
    rotation: 0,
  }

  const sourceData = ref({
    "type": "FeatureCollection",
    "features": [{
      "type": "Feature",
      "properties": {},
      "geometry": {
        "type": "Point",
        "coordinates": center
      }
    }],
  })

</script>

<style scoped>
</style>

最后更新时间:
贡献者: gyy
Prev
从1.x迁移
Next
内置API