@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方案

ThreeJS的图层

ThreeJS图层,基于AMap.GLCustomLayer,增加通用的配置,目前包含lights(灯光)、hdr。 可以通过获取scene来自定义添加模型。

提示

来源 @vuemap/vue-amap-extra 组件库

基础示例

自定义模型添加事件

静态属性

仅且可以初始化配置,不支持响应式。

名称类型说明
lightsArray配置灯光数据,具体参数见下面已废弃,请使用灯光组件,更适合后续灯光控制
hdrObjectHDR功能配置,具体参数见下面
alphaBooleancanvas是否包含alpha (透明度)。默认为 false
antialiasBoolean是否执行抗锯齿。默认为false
axesHelperBoolean是否开启debug的箭头,默认false
createCanvasBoolean是否创建新的canvas绘制threejs,默认false
webGLRendererParametersWebGLRendererParameters创建WebglRenderer时传递的数据,可以传preserveDrawingBuffer
createCssRenderBoolean是否创建cssRender,只有开启cssRender后,gltf组件的popup才能生效

动态属性

支持响应式。

名称类型说明
zoomsArray支持的缩放级别范围,默认范围 [2-20]
visibleBoolean是否显示,默认 true
zIndexNumber图层叠加的顺序值,1 表示最底层。默认 zIndex:120
opacityNumber透明度,默认 1

HDR配置

{
  urls: [], // HDR贴图下载地址,需要6个文件,代表6个方向
  path: '/', // HDR下载地址的路径前缀
  exposure: 1.0 // 光亮程度
}

灯光配置

{
  type: 'DirectionalLight', //灯光类型, 可选值见下面的字典
  args: [], //灯光初始化时需要的参数,具体参数顺序可以查看threejs官网灯光的说明。 采用 ...args 的方式进行初始化
  position: {
    x: 0,
    y: 0,
    z: 0
  }, //光源的位置
  lookAt: {
    x: 0,
    y: 0,
    z: 0
  } //光源查看的目标点
}

const lightTypes = {
  AmbientLight: THREE.AmbientLight, // 环境光  环境光会均匀的照亮场景中的所有物体
  DirectionalLight: THREE.DirectionalLight, // 平行光  平行光是沿着特定方向发射的光
  HemisphereLight: THREE.HemisphereLight, // 半球光  光源直接放置于场景之上,光照颜色从天空光线颜色渐变到地面光线颜色。
  PointLight: THREE.PointLight, // 点光源  从一个点向各个方向发射的光源。一个常见的例子是模拟一个灯泡发出的光
  RectAreaLight: THREE.RectAreaLight, // 平面光光源  平面光光源从一个矩形平面上均匀地发射光线。这种光源可以用来模拟像明亮的窗户或者条状灯光光源
  SpotLight: THREE.SpotLight // 聚光灯  光线从一个点沿一个方向射出,随着光线照射的变远,光线圆锥体的尺寸也逐渐增大
};

ThreeLayer添加事件

从2.0.11版本开始,three-layer组件开始支持常用的鼠标事件,事件系统内对于组件库的组件会直接触发到各自的组件上, 而开发自定义添加的物体,如果给它的userData属性添加一个acceptEvent属性, 那么threeLayer的射线也会将它纳入计算,如同上面的示例中,只要添加了mesh.userData.acceptEvent = true那么该物体也会触发事件,便于后续扩展。

ref 可用方法

提供无副作用的同步帮助方法

函数参数返回说明
$$getInstance()AMap.CustomLayer获取实例
$$getSceneTHREE.Scene获取场景对象
$$getRenderWebGLRenderer获取WebGLRenderer对象
$$refresh刷新图层
$$addPass后处理实例添加后处理
$$removePass后处理实例移除后处理

事件

事件参数说明
initThreeLayer实例初始化结束
clickObject3D点击图层,获取自定义的物体
mouseoverObject3D移动到自定义的物体上
mouseoutObject3D从自定义的物体上移除
最后更新时间:
贡献者: gyy, gu
Next
Gltf模型加载