mirror of https://gitee.com/antv-l7/antv-l7
Shihui dev (#786)
* feat: add getModelMatrix into viewport * feat: 新增地球模式 (初步构建) * feat: 完善地球交互 * style: lint style * feat: 调整地球图层缩放的方向 * style: lint style * feat: 增加地球模式的 pointLayer/fill 图层 * style: lint style * feat: 增加地球、太阳的简单运动系统,优化部分代码结构 * chore: update version 2.5.25 -> 2.5.26 * style: lint style * feat: 在核心模块移除 threejs 的引用 * style: lint style * fix: 修复时间点击出错 * style: lint style
This commit is contained in:
parent
0bcc822cdd
commit
bc7c6718a6
|
@ -43,12 +43,12 @@ scene 对象
|
|||
|
||||
control 配置项
|
||||
|
||||
| name | Type | Default | Description |
|
||||
| -------- | --------------------------------------------- | ---------- | ------------------------------- |
|
||||
| name | Type | Default | Description |
|
||||
| -------- | ------------------------------------------------------------------------------------------------- | ---------- | ------------------------------- |
|
||||
| position | `bottomright、topright、 bottomleft 、topleft、 topcenter、bottomcenter、leftcenter、rightcenter` | `topright` | 组件位置 |
|
||||
| layout | `horizontal、 vertical` | `vertical` | 组件布局 支持水平和垂直两种布局 |
|
||||
| controls | `controlOptions` | | 设置 UI 组件添加哪些绘制工具 |
|
||||
| style | | | 地图绘制样式 |
|
||||
| layout | `horizontal、 vertical` | `vertical` | 组件布局 支持水平和垂直两种布局 |
|
||||
| controls | `controlOptions` | | 设置 UI 组件添加哪些绘制工具 |
|
||||
| style | | | 地图绘制样式 |
|
||||
|
||||
**controlOptions**
|
||||
UI 组件配置项
|
||||
|
|
|
@ -76,12 +76,12 @@ Mapbox Map 地图配置项 [配置项](https://docs.mapbox.com/mapbox-gl-js/api/
|
|||
|
||||
### scene option
|
||||
|
||||
| option | Type | Default | Description |
|
||||
| --------------------- | --------- | ------------ | --------------------------------------------------------- |
|
||||
| option | Type | Default | Description |
|
||||
| --------------------- | --------- | ------------ | --------------------------------------------------------------------------------------------------------------- |
|
||||
| logoPosition | string | `bottomleft` | logo 位置 `bottomright | topright | bottomleft | topleft | topcenter | bottomcenter | leftcenter | rightcenter` |
|
||||
| logoVisible | `boolean` | `true` | 是否显示 logo |
|
||||
| antialias | `boolean` | `true` | 是否开启抗锯齿 |
|
||||
| preserveDrawingBuffer | `boolean` | `false` | 是否保留缓冲区数据 |
|
||||
| logoVisible | `boolean` | `true` | 是否显示 logo |
|
||||
| antialias | `boolean` | `true` | 是否开启抗锯齿 |
|
||||
| preserveDrawingBuffer | `boolean` | `false` | 是否保留缓冲区数据 |
|
||||
|
||||
### 获取 scene 对象
|
||||
|
||||
|
|
|
@ -76,12 +76,12 @@ Mapbox Map 地图配置项 [配置项](https://docs.mapbox.com/mapbox-gl-js/api/
|
|||
|
||||
### scene option
|
||||
|
||||
| option | Type | Default | Description |
|
||||
| --------------------- | --------- | ------------ | --------------------------------------------------------- |
|
||||
| option | Type | Default | Description |
|
||||
| --------------------- | --------- | ------------ | --------------------------------------------------------------------------------------------------------------- |
|
||||
| logoPosition | string | `bottomleft` | logo 位置 `bottomright | topright | bottomleft | topleft | topcenter | bottomcenter | leftcenter | rightcenter` |
|
||||
| logoVisible | `boolean` | `true` | 是否显示 logo |
|
||||
| antialias | `boolean` | `true` | 是否开启抗锯齿 |
|
||||
| preserveDrawingBuffer | `boolean` | `false` | 是否保留缓冲区数据 |
|
||||
| logoVisible | `boolean` | `true` | 是否显示 logo |
|
||||
| antialias | `boolean` | `true` | 是否开启抗锯齿 |
|
||||
| preserveDrawingBuffer | `boolean` | `false` | 是否保留缓冲区数据 |
|
||||
|
||||
### 获取 scene 对象
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"message": "chore: publish"
|
||||
}
|
||||
},
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"npmClient": "yarn",
|
||||
"useWorkspaces": true,
|
||||
"publishConfig": {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antv/l7-component",
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"description": "",
|
||||
"main": "lib/index.js",
|
||||
"module": "es/index.js",
|
||||
|
@ -25,8 +25,8 @@
|
|||
"author": "lzxue",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@antv/l7-core": "^2.5.25",
|
||||
"@antv/l7-utils": "^2.5.25",
|
||||
"@antv/l7-core": "^2.5.26",
|
||||
"@antv/l7-utils": "^2.5.26",
|
||||
"@babel/runtime": "^7.7.7",
|
||||
"eventemitter3": "^4.0.0",
|
||||
"inversify": "^5.0.1",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antv/l7-core",
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"description": "",
|
||||
"main": "lib/index.js",
|
||||
"module": "es/index.js",
|
||||
|
@ -24,7 +24,7 @@
|
|||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@antv/async-hook": "^2.1.0",
|
||||
"@antv/l7-utils": "^2.5.25",
|
||||
"@antv/l7-utils": "^2.5.26",
|
||||
"@babel/runtime": "^7.7.7",
|
||||
"@mapbox/tiny-sdf": "^1.1.1",
|
||||
"ajv": "^6.10.2",
|
||||
|
|
|
@ -320,7 +320,7 @@ export default class PickingService implements IPickingService {
|
|||
featureId: number | null;
|
||||
},
|
||||
) {
|
||||
layer.emit(target.type, target);
|
||||
// layer.emit(target.type, target);
|
||||
// 判断是否发生事件冲突
|
||||
if (isEventCrash(target)) {
|
||||
layer.emit(target.type, target);
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
// @ts-ignore
|
||||
import { SyncBailHook, SyncHook, SyncWaterfallHook } from '@antv/async-hook';
|
||||
import { Container } from 'inversify';
|
||||
import { AnimationMixer, Matrix4, Object3D } from 'three';
|
||||
import Clock from '../../utils/clock';
|
||||
import { ISceneConfig } from '../config/IConfigService';
|
||||
import { IMapService } from '../map/IMapService';
|
||||
|
@ -235,35 +234,31 @@ export interface ILayer {
|
|||
altitude: number,
|
||||
rotation: [number, number, number],
|
||||
scale: [number, number, number],
|
||||
): Matrix4;
|
||||
): any;
|
||||
|
||||
// 获取对应地图的经纬度平移矩阵
|
||||
getTranslateMatrix?(lnglat: ILngLat, altitude?: number): Matrix4;
|
||||
getTranslateMatrix?(lnglat: ILngLat, altitude?: number): any;
|
||||
|
||||
// 设置模型对应地图在经纬度和高度方向的平移
|
||||
applyObjectLngLat?(
|
||||
object: Object3D,
|
||||
lnglat: ILngLat,
|
||||
altitude?: number,
|
||||
): void;
|
||||
applyObjectLngLat?(object: any, lnglat: ILngLat, altitude?: number): void;
|
||||
|
||||
// 根据经纬度设置模型对应地图的平移
|
||||
setObjectLngLat?(object: Object3D, lnglat: ILngLat, altitude?: number): void;
|
||||
setObjectLngLat?(object: any, lnglat: ILngLat, altitude?: number): void;
|
||||
|
||||
// 返回物体在场景中的经纬度
|
||||
getObjectLngLat?(object: Object3D): ILngLat;
|
||||
getObjectLngLat?(object: any): ILngLat;
|
||||
|
||||
// 将经纬度转为 three 世界坐标
|
||||
lnglatToCoord?(lnglat: ILngLat): ILngLat;
|
||||
|
||||
// 设置网格适配到地图坐标系
|
||||
adjustMeshToMap?(object: Object3D): void;
|
||||
adjustMeshToMap?(object: any): void;
|
||||
|
||||
// 设置网格的缩放 (主要是抹平 mapbox 底图时的差异,若是高德底图则可以直接设置网格的 scale 属性/方法)
|
||||
setMeshScale?(object: Object3D, x: number, y: number, z: number): void;
|
||||
setMeshScale?(object: any, x: number, y: number, z: number): void;
|
||||
|
||||
// 增加加载模型的动画混合器
|
||||
addAnimateMixer?(mixer: AnimationMixer): void;
|
||||
addAnimateMixer?(mixer: any): void;
|
||||
|
||||
/**
|
||||
* 地球模式相关的方法
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antv/l7",
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"description": "A Large-scale WebGL-powered Geospatial Data Visualization",
|
||||
"main": "lib/index.js",
|
||||
"module": "es/index.js",
|
||||
|
@ -25,12 +25,12 @@
|
|||
"author": "antv",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@antv/l7-component": "^2.5.25",
|
||||
"@antv/l7-core": "^2.5.25",
|
||||
"@antv/l7-layers": "^2.5.25",
|
||||
"@antv/l7-maps": "^2.5.25",
|
||||
"@antv/l7-scene": "^2.5.25",
|
||||
"@antv/l7-utils": "^2.5.25",
|
||||
"@antv/l7-component": "^2.5.26",
|
||||
"@antv/l7-core": "^2.5.26",
|
||||
"@antv/l7-layers": "^2.5.26",
|
||||
"@antv/l7-maps": "^2.5.26",
|
||||
"@antv/l7-scene": "^2.5.26",
|
||||
"@antv/l7-utils": "^2.5.26",
|
||||
"@babel/runtime": "^7.7.7"
|
||||
},
|
||||
"gitHead": "684ba4eb806a798713496d3fc0b4d1e17517dc31",
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
const version = '2.5.25';
|
||||
const version = '2.5.26';
|
||||
export { version };
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antv/l7-layers",
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"description": "L7's collection of built-in layers",
|
||||
"main": "lib/index.js",
|
||||
"module": "es/index.js",
|
||||
|
@ -24,9 +24,9 @@
|
|||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@antv/async-hook": "^2.1.0",
|
||||
"@antv/l7-core": "^2.5.25",
|
||||
"@antv/l7-source": "^2.5.25",
|
||||
"@antv/l7-utils": "^2.5.25",
|
||||
"@antv/l7-core": "^2.5.26",
|
||||
"@antv/l7-source": "^2.5.26",
|
||||
"@antv/l7-utils": "^2.5.26",
|
||||
"@babel/runtime": "^7.7.7",
|
||||
"@mapbox/martini": "^0.2.0",
|
||||
"@turf/meta": "^6.0.2",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antv/l7-map",
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"description": "l7 map",
|
||||
"keywords": [],
|
||||
"author": "thinkinggis <lzx199065@gmail.com>",
|
||||
|
@ -37,7 +37,7 @@
|
|||
},
|
||||
"homepage": "https://github.com/antvis/L7#readme",
|
||||
"dependencies": {
|
||||
"@antv/l7-utils": "^2.5.25",
|
||||
"@antv/l7-utils": "^2.5.26",
|
||||
"@babel/runtime": "^7.7.7",
|
||||
"@mapbox/point-geometry": "^0.1.0",
|
||||
"@mapbox/unitbezier": "^0.0.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antv/l7-maps",
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"description": "",
|
||||
"main": "lib/index.js",
|
||||
"module": "es/index.js",
|
||||
|
@ -27,9 +27,9 @@
|
|||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@amap/amap-jsapi-loader": "^0.0.3",
|
||||
"@antv/l7-core": "^2.5.25",
|
||||
"@antv/l7-map": "^2.5.25",
|
||||
"@antv/l7-utils": "^2.5.25",
|
||||
"@antv/l7-core": "^2.5.26",
|
||||
"@antv/l7-map": "^2.5.26",
|
||||
"@antv/l7-utils": "^2.5.26",
|
||||
"@babel/runtime": "^7.7.7",
|
||||
"@types/amap-js-api": "^1.4.6",
|
||||
"@types/mapbox-gl": "^1.11.2",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antv/l7-renderer",
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"description": "",
|
||||
"main": "lib/index.js",
|
||||
"module": "es/index.js",
|
||||
|
@ -26,7 +26,7 @@
|
|||
"gl": "^4.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@antv/l7-core": "^2.5.25",
|
||||
"@antv/l7-core": "^2.5.26",
|
||||
"@babel/runtime": "^7.7.7",
|
||||
"inversify": "^5.0.1",
|
||||
"l7regl": "^0.0.14",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antv/l7-scene",
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"description": "",
|
||||
"main": "lib/index.js",
|
||||
"module": "es/index.js",
|
||||
|
@ -23,12 +23,12 @@
|
|||
"author": "xiaoiver",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@antv/l7-component": "^2.5.25",
|
||||
"@antv/l7-core": "^2.5.25",
|
||||
"@antv/l7-layers": "^2.5.25",
|
||||
"@antv/l7-maps": "^2.5.25",
|
||||
"@antv/l7-renderer": "^2.5.25",
|
||||
"@antv/l7-utils": "^2.5.25",
|
||||
"@antv/l7-component": "^2.5.26",
|
||||
"@antv/l7-core": "^2.5.26",
|
||||
"@antv/l7-layers": "^2.5.26",
|
||||
"@antv/l7-maps": "^2.5.26",
|
||||
"@antv/l7-renderer": "^2.5.26",
|
||||
"@antv/l7-utils": "^2.5.26",
|
||||
"@babel/runtime": "^7.7.7",
|
||||
"inversify": "^5.0.1",
|
||||
"mapbox-gl": "^1.2.1",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antv/l7-source",
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"description": "",
|
||||
"main": "lib/index.js",
|
||||
"module": "es/index.js",
|
||||
|
@ -26,8 +26,8 @@
|
|||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@antv/async-hook": "^2.1.0",
|
||||
"@antv/l7-core": "^2.5.25",
|
||||
"@antv/l7-utils": "^2.5.25",
|
||||
"@antv/l7-core": "^2.5.26",
|
||||
"@antv/l7-utils": "^2.5.26",
|
||||
"@babel/runtime": "^7.7.7",
|
||||
"@mapbox/geojson-rewind": "^0.4.0",
|
||||
"@turf/helpers": "^6.1.4",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antv/l7-three",
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"description": "three for L7 ",
|
||||
"keywords": [
|
||||
"3D",
|
||||
|
@ -44,9 +44,9 @@
|
|||
},
|
||||
"homepage": "https://github.com/antvis/L7#readme",
|
||||
"dependencies": {
|
||||
"@antv/l7-core": "^2.5.25",
|
||||
"@antv/l7-layers": "^2.5.25",
|
||||
"@antv/l7-scene": "^2.5.25",
|
||||
"@antv/l7-core": "^2.5.26",
|
||||
"@antv/l7-layers": "^2.5.26",
|
||||
"@antv/l7-scene": "^2.5.26",
|
||||
"@babel/runtime": "^7.7.7",
|
||||
"inversify": "^5.0.1",
|
||||
"reflect-metadata": "^0.1.13",
|
||||
|
|
|
@ -1,13 +1,4 @@
|
|||
import { Scene } from '@antv/l7-scene';
|
||||
import {
|
||||
AnimationMixer,
|
||||
Camera,
|
||||
Matrix4,
|
||||
PCFSoftShadowMap,
|
||||
PerspectiveCamera,
|
||||
Scene as ThreeScene,
|
||||
WebGLRenderer,
|
||||
} from 'three';
|
||||
import {
|
||||
IThreeRenderService,
|
||||
ThreeRenderService,
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import { Object3D } from 'three';
|
||||
import ThreeLayer from './core/baseLayer';
|
||||
// import { IThreeJSLayer } from './core/IThreeJSLayer';
|
||||
import ThreeRender from './core/threeRender';
|
||||
export { ThreeLayer, ThreeRender, Object3D };
|
||||
export { ThreeLayer, ThreeRender };
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@antv/l7-utils",
|
||||
"version": "2.5.25",
|
||||
"version": "2.5.26",
|
||||
"description": "",
|
||||
"main": "lib/index.js",
|
||||
"module": "es/index.js",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// @ts-ignore
|
||||
import { Scene } from '@antv/l7';
|
||||
import { GaodeMap, GaodeMapV2, Mapbox } from '@antv/l7-maps';
|
||||
import { ThreeLayer, ThreeRender, Object3D } from '@antv/l7-three';
|
||||
import { ThreeLayer, ThreeRender } from '@antv/l7-three';
|
||||
import * as React from 'react';
|
||||
// import { DirectionalLight, Scene as ThreeScene } from 'three';
|
||||
import * as THREE from 'three';
|
||||
|
@ -57,7 +57,7 @@ export default class GlTFThreeJSDemo extends React.Component {
|
|||
'https://gw.alipayobjects.com/os/bmw-prod/3ca0a546-92d8-4ba0-a89c-017c218d5bea.gltf',
|
||||
(gltf) => {
|
||||
// @ts-ignore
|
||||
const model: Object3D = gltf.scene;
|
||||
const model = gltf.scene;
|
||||
|
||||
layer.getSource().data.dataArray.forEach(({ coordinates }) => {
|
||||
layer.adjustMeshToMap(model);
|
||||
|
|
|
@ -60,6 +60,7 @@ export default class GaodeMapComponent extends React.Component {
|
|||
storkeWidth: 2,
|
||||
// offsets: [100, 100],
|
||||
});
|
||||
layer.on('click', () => console.log('click'));
|
||||
scene.addLayer(layer);
|
||||
scene.render();
|
||||
this.scene = scene;
|
||||
|
|
Loading…
Reference in New Issue