Commit 615304f8 by wanghao

同步代码

parent a1b58175
...@@ -337,7 +337,7 @@ ...@@ -337,7 +337,7 @@
"thumbnail": "layert-type-image-echarts.jpg", "thumbnail": "layert-type-image-echarts.jpg",
"main": "layer-tile/type/image-echarts", "main": "layer-tile/type/image-echarts",
"libs": ["mars3d", "echarts"], "libs": ["mars3d", "echarts"],
"new":true "new": true
}, },
{ {
"name": "标准XYZ金字塔瓦片", "name": "标准XYZ金字塔瓦片",
...@@ -453,20 +453,55 @@ ...@@ -453,20 +453,55 @@
"download": false, "download": false,
"children": [ "children": [
{ {
"name": "底图切换控制", "name": "HomeButton 视角复位按钮",
"thumbnail": "control-cesium-homeButton.jpg",
"main": "control/cesium/homeButton"
},
{
"name": "BaseLayerPicker 底图切换按钮",
"thumbnail": "control-cesium-baseLayerPicker.jpg", "thumbnail": "control-cesium-baseLayerPicker.jpg",
"main": "control/cesium/baseLayerPicker" "main": "control/cesium/baseLayerPicker"
}, },
{ {
"name": "偏振立体(vr)", "name": "FullscreenButton 全屏按钮",
"thumbnail": "control-cesium-webvr.jpg", "thumbnail": "control-cesium-fullscreenButton.jpg",
"main": "control/cesium/webvr" "main": "control/cesium/fullscreenButton"
}, },
{ {
"name": "POI兴趣点搜索(Cesium原生)", "name": "Geocoder POI兴趣点搜索按钮",
"thumbnail": "control-cesium-geocoder.jpg", "thumbnail": "control-cesium-geocoder.jpg",
"main": "control/cesium/geocoder", "main": "control/cesium/geocoder",
"resources": ["cesiumControl.css"] "resources": ["cesiumControl.css"]
},
{
"name": "ProjectionPicker 投影切换按钮",
"thumbnail": "control-cesium-projectionPicker.jpg",
"main": "control/cesium/projectionPicker"
},
{
"name": "SceneModePicker 二三维切换按钮",
"thumbnail": "map-cesium-sceneModePicker.jpg",
"main": "control/cesium/sceneModePicker"
},
{
"name": "NavigationHelpButton 帮助按钮",
"thumbnail": "control-cesium-navigationHelpButton.jpg",
"main": "control/cesium/navigationHelpButton"
},
{
"name": "Animation 时钟仪表面板",
"thumbnail": "control-cesium-animation.jpg",
"main": "control/cesium/animation"
},
{
"name": "Timeline 时间线面板",
"thumbnail": "control-cesium-timeline.jpg",
"main": "control/cesium/timeline"
},
{
"name": "偏振立体(VR)",
"thumbnail": "control-cesium-webvr.jpg",
"main": "control/cesium/webvr"
} }
] ]
}, },
......

58.1 KB | W: | H:

39.9 KB | W: | H:

public/config/thumbnail/control-cesium-geocoder.jpg
public/config/thumbnail/control-cesium-geocoder.jpg
public/config/thumbnail/control-cesium-geocoder.jpg
public/config/thumbnail/control-cesium-geocoder.jpg
  • 2-up
  • Swipe
  • Onion skin
/** /**
* Mars3D三维可视化平台 mars3d * Mars3D三维可视化平台 mars3d
* *
* 版本信息:v3.6.1 * 版本信息:v3.6.2
* 编译日期:2023-08-14 21:45:40 * 编译日期:2023-08-20 20:28:32
* 版权所有:Copyright by 火星科技 http://mars3d.cn * 版权所有:Copyright by 火星科技 http://mars3d.cn
* 使用单位:免费公开版 ,2023-03-17 * 使用单位:免费公开版 ,2023-03-17
*/ */
......
...@@ -2,8 +2,8 @@ ...@@ -2,8 +2,8 @@
/** /**
* Mars3D三维可视化平台 mars3d * Mars3D三维可视化平台 mars3d
* *
* 版本信息:v3.6.1 * 版本信息:v3.6.2
* 编译日期:2023-08-14 21:45:40 * 编译日期:2023-08-20 20:28:31
* 版权所有:Copyright by 火星科技 http://mars3d.cn * 版权所有:Copyright by 火星科技 http://mars3d.cn
* 使用单位:免费公开版 ,2023-03-17 * 使用单位:免费公开版 ,2023-03-17
*/ */
...@@ -1854,17 +1854,18 @@ declare class Compass extends BaseControl { ...@@ -1854,17 +1854,18 @@ declare class Compass extends BaseControl {
/** /**
* 时钟仪表控制 控件 (Cesium原生) * 时钟仪表控制 控件 (Cesium原生)
* @param [options] - 参数对象,包括以下: * @param [options] - 参数对象,包括以下:
* @param [ticks = [0.1, 0.25, 0.5, 1.0, 2.0, 5.0, 10.0, 15.0, 30.0, 60.0, 120.0, 300.0, 600.0, 900.0, 1800.0, 3600.0]] - 可选的步长 * @param [options.ticks = [0.1, 0.25, 0.5, 1.0, 2.0, 5.0, 10.0, 15.0, 30.0, 60.0, 120.0, 300.0, 600.0, 900.0, 1800.0, 3600.0]] - 可选的步长
* @param [options.id = createGuid()] - 对象的id标识 * @param [options.id = createGuid()] - 对象的id标识
* @param [options.enabled = true] - 对象的启用状态 * @param [options.enabled = true] - 对象的启用状态
* @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container * @param [options.parentContainer] - 控件加入的父容器,默认为map所在的DOM map.container
*/ */
declare class Animation extends BaseCzmControl { declare class Animation extends BaseCzmControl {
constructor(options?: { constructor(options?: {
ticks?: number[];
id?: string | number; id?: string | number;
enabled?: boolean; enabled?: boolean;
parentContainer?: HTMLElement; parentContainer?: HTMLElement;
}, ticks?: number[]); });
} }
/** /**
...@@ -2705,7 +2706,7 @@ declare class BaseThing extends BaseClass { ...@@ -2705,7 +2706,7 @@ declare class BaseThing extends BaseClass {
* }) * })
* let color = colorRamp.getColor(rate) * let color = colorRamp.getColor(rate)
* @param [options] - 参数对象,包括以下: * @param [options] - 参数对象,包括以下:
* @param options.colors - 色带的颜色数组,比如 * @param options.colors - 色带的颜色数组
* @param options.steps - 色带对应的数值数组 * @param options.steps - 色带对应的数值数组
*/ */
declare class ColorRamp { declare class ColorRamp {
...@@ -17628,6 +17629,8 @@ declare namespace ScrollWall { ...@@ -17628,6 +17629,8 @@ declare namespace ScrollWall {
* @property [reverse = false] - 方向:true往上、false往下 * @property [reverse = false] - 方向:true往上、false往下
* @property [style = 1] - 样式,可选值:1、2 * @property [style = 1] - 样式,可选值:1、2
* @property [shadows = Cesium.ShadowMode.DISABLED] - 指定对象是投射还是接收来自光源的阴影。 * @property [shadows = Cesium.ShadowMode.DISABLED] - 指定对象是投射还是接收来自光源的阴影。
* @property [highlight] - 鼠标移入或单击(type:'click')后的对应高亮的部分样式,创建Graphic后也可以openHighlight、closeHighlight方法来手动调用
* @property [label] - 支持附带文字的显示
*/ */
type StyleOptions = any | { type StyleOptions = any | {
diffHeight?: number; diffHeight?: number;
...@@ -17637,6 +17640,8 @@ declare namespace ScrollWall { ...@@ -17637,6 +17640,8 @@ declare namespace ScrollWall {
reverse?: boolean; reverse?: boolean;
style?: number; style?: number;
shadows?: Cesium.ShadowMode; shadows?: Cesium.ShadowMode;
highlight?: ScrollWall.StyleOptions | any;
label?: LabelEntity.StyleOptions | any;
}; };
} }
...@@ -17678,6 +17683,10 @@ declare class ScrollWall extends BasePolyPrimitive { ...@@ -17678,6 +17683,10 @@ declare class ScrollWall extends BasePolyPrimitive {
flyToOptions?: any; flyToOptions?: any;
}); });
/** /**
* 中心点坐标 (笛卡尔坐标)
*/
readonly center: Cesium.Cartesian3;
/**
* 矢量数据对应的 Cesium内部对象 (不同子类中实现) * 矢量数据对应的 Cesium内部对象 (不同子类中实现)
*/ */
readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any; readonly czmObject: Cesium.Entity | Cesium.Primitive | Cesium.GroundPrimitive | Cesium.ClassificationPrimitive | any;
...@@ -25746,6 +25755,8 @@ declare namespace Map { ...@@ -25746,6 +25755,8 @@ declare namespace Map {
* @property [terrainShadows = Cesium.ShadowMode.RECEIVE_ONLY] - 确定地形是否投射或接收来自光源的阴影。 * @property [terrainShadows = Cesium.ShadowMode.RECEIVE_ONLY] - 确定地形是否投射或接收来自光源的阴影。
* @property [requestRenderMode = false] - 是否显式渲染,如果为真,渲染帧只会在需要时发生,这是由场景中的变化决定的。启用可以减少你的应用程序的CPU/GPU使用量,并且在移动设备上使用更少的电池,但是需要使用 {@link Scene#requestRender} 在这种模式下显式地渲染一个新帧。在许多情况下,在API的其他部分更改场景后,这是必要的。参见 {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}. * @property [requestRenderMode = false] - 是否显式渲染,如果为真,渲染帧只会在需要时发生,这是由场景中的变化决定的。启用可以减少你的应用程序的CPU/GPU使用量,并且在移动设备上使用更少的电池,但是需要使用 {@link Scene#requestRender} 在这种模式下显式地渲染一个新帧。在许多情况下,在API的其他部分更改场景后,这是必要的。参见 {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
* @property [maximumRenderTimeChange = 0.0] - 如果requestRenderMode为true,这个值定义了在请求渲染之前允许的模拟时间的最大变化。参见 {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}. * @property [maximumRenderTimeChange = 0.0] - 如果requestRenderMode为true,这个值定义了在请求渲染之前允许的模拟时间的最大变化。参见 {@link https://cesium.com/blog/2018/01/24/cesium-scene-rendering-performance/|Improving Performance with Explicit Rendering}.
* @property [depthPlaneEllipsoidOffset = 0.0] - 调整DepthPlane以处理椭球体零标高以下的渲染伪影。
* @property [msaaSamples = 1] - 如果提供,该值控制多样本抗混叠的速率。典型的多采样率是每像素2、4,有时是8个采样。更高的MSAA采样率可能会影响性能,以换取更好的视觉质量。这个值只适用于支持多样本渲染目标的WebGL2上下文。
* *
* 以下是Cesium.Globe对象相关参数 * 以下是Cesium.Globe对象相关参数
* @property [globe] - globe地球相关参数 * @property [globe] - globe地球相关参数
...@@ -25829,6 +25840,8 @@ declare namespace Map { ...@@ -25829,6 +25840,8 @@ declare namespace Map {
terrainShadows?: Cesium.ShadowMode; terrainShadows?: Cesium.ShadowMode;
requestRenderMode?: boolean; requestRenderMode?: boolean;
maximumRenderTimeChange?: number; maximumRenderTimeChange?: number;
depthPlaneEllipsoidOffset?: number;
msaaSamples?: number;
globe?: { globe?: {
show?: boolean; show?: boolean;
baseColor?: string; baseColor?: string;
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
import * as mars3d from "mars3d"
const Cesium = mars3d.Cesium
export let map // mars3d.Map三维地图对象
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
export const mapOptions = function (option) {
option.control = {
timeline: false,
animation: false // 当前演示的示例控件 - 时钟仪表控制 控件 (Cesium原生)
}
return option
}
/**
* 初始化地图业务,生命周期钩子函数(必须)
* 框架在地图初始化完成后自动调用该函数
* @param {mars3d.Map} mapInstance 地图对象
* @returns {void} 无
*/
export function onMounted(mapInstance) {
map = mapInstance // 记录map
// 修改原生控件范围
// 该方法需要在 创建map(new mars3d.Map(options)) 之前执行
// Cesium.AnimationViewModel.defaultTicks = [0.1, 0.25, 0.5, 1.0, 2.0, 5.0, 10.0, 15.0, 30.0, 60.0, 120.0, 300.0, 600.0, 900.0, 1800.0, 3600.0]
// 方式2:在创建地球后按需调用addControl添加(直接new对应type类型的控件)
const animation = new mars3d.control.Animation({
ticks: [0.1, 0.25, 0.5, 1.0, 2.0, 5.0, 10.0, 15.0] // 调整范围
})
map.addControl(animation)
}
/**
* 释放当前地图业务的生命周期函数
* @returns {void} 无
*/
export function onUnmounted() {
map = null
}
...@@ -18,6 +18,10 @@ export const mapOptions = function (option) { ...@@ -18,6 +18,10 @@ export const mapOptions = function (option) {
*/ */
export function onMounted(mapInstance) { export function onMounted(mapInstance) {
map = mapInstance // 记录map map = mapInstance // 记录map
map.on(mars3d.EventType.changeBasemap, (event) => {
console.log("切换了底图,当前底图为", map.basemap)
})
} }
/** /**
......
import * as mars3d from "mars3d"
const Cesium = mars3d.Cesium
export let map // mars3d.Map三维地图对象
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
export const mapOptions = function (option) {
option.control = {
fullscreenButton: false // 当前演示的示例控件 - 全屏按钮 控件 (Cesium原生)
}
return option
}
/**
* 初始化地图业务,生命周期钩子函数(必须)
* 框架在地图初始化完成后自动调用该函数
* @param {mars3d.Map} mapInstance 地图对象
* @returns {void} 无
*/
export function onMounted(mapInstance) {
map = mapInstance // 记录map
globalNotify(
"已知问题提示",
`(1)cesium本身机制,用iframe嵌入后无法全屏里面的div;
(2)示例框架原因,使用iframe嵌入,全屏后不显示其他面板;
`
)
// 方式2:在创建地球后按需调用addControl添加(直接new对应type类型的控件)
const fullscreenButton = new mars3d.control.FullscreenButton()
map.addControl(fullscreenButton)
map.on(mars3d.EventType.click, () => {
// 全屏整个页面
Cesium.Fullscreen.requestFullscreen(document.body)
// 仅全屏画布
// Cesium.Fullscreen.requestFullscreen(map.viewer.scene.canvas)
})
}
/**
* 释放当前地图业务的生命周期函数
* @returns {void} 无
*/
export function onUnmounted() {
map = null
}
import * as mars3d from "mars3d"
export let map // mars3d.Map三维地图对象
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
export const mapOptions = function (option) {
option.control = {
homeButton: false // 方式1:options中添加控件 - 视角复位控制 控件 (Cesium原生)
}
return option
}
/**
* 初始化地图业务,生命周期钩子函数(必须)
* 框架在地图初始化完成后自动调用该函数
* @param {mars3d.Map} mapInstance 地图对象
* @returns {void} 无
*/
export function onMounted(mapInstance) {
map = mapInstance // 记录map
// 修改控件title
// document.getElementsByClassName("cesium-home-button")[0].setAttribute("title", "复位")
// 方式2:在创建地球后按需调用addControl添加(直接new对应type类型的控件)
const homeButton = new mars3d.control.HomeButton({
title: "复位",
click: function (event) {
console.log("HomeButton 自定义click方法")
map.flyHome()
}
})
map.addControl(homeButton)
}
/**
* 释放当前地图业务的生命周期函数
* @returns {void} 无
*/
export function onUnmounted() {
map = null
}
import * as mars3d from "mars3d"
export let map // mars3d.Map三维地图对象
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
export const mapOptions = function (option) {
option.control = {
navigationHelpButton: false // 方式1:options中添加控件
}
return option
}
/**
* 初始化地图业务,生命周期钩子函数(必须)
* 框架在地图初始化完成后自动调用该函数
* @param {mars3d.Map} mapInstance 地图对象
* @returns {void} 无
*/
export function onMounted(mapInstance) {
map = mapInstance // 记录map
// 方式2:在创建地球后按需调用addControl添加(直接new对应type类型的控件)
const navigationHelpButton = new mars3d.control.NavigationHelpButton()
map.addControl(navigationHelpButton)
// 按钮触发自定义方法
// map.controls.navigationHelpButton._container.addEventListener("click", (event) => {
// console.log("自定义方法")
// })
// navigationHelpButton._container.onclick = function (event) {
// console.log("自定义方法")
// }
}
/**
* 释放当前地图业务的生命周期函数
* @returns {void} 无
*/
export function onUnmounted() {
map = null
}
import * as mars3d from "mars3d"
export let map // mars3d.Map三维地图对象
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
export const mapOptions = function (option) {
option.control = {
projectionPicker: false // 方式1:options中添加控件
}
return option
}
/**
* 初始化地图业务,生命周期钩子函数(必须)
* 框架在地图初始化完成后自动调用该函数
* @param {mars3d.Map} mapInstance 地图对象
* @returns {void} 无
*/
export function onMounted(mapInstance) {
map = mapInstance // 记录map
// 方式2:在创建地球后按需调用addControl添加(直接new对应type类型的控件)
const projectionPicker = new mars3d.control.ProjectionPicker()
map.addControl(projectionPicker)
}
/**
* 释放当前地图业务的生命周期函数
* @returns {void} 无
*/
export function onUnmounted() {
map = null
}
import * as mars3d from "mars3d"
export let map // mars3d.Map三维地图对象
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
export const mapOptions = function (option) {
option.control = {
sceneMode: false // 方式1:options中添加控件
}
return option
}
/**
* 初始化地图业务,生命周期钩子函数(必须)
* 框架在地图初始化完成后自动调用该函数
* @param {mars3d.Map} mapInstance 地图对象
* @returns {void} 无
*/
export function onMounted(mapInstance) {
map = mapInstance // 记录map
// 方式2:在创建地球后按需调用addControl添加(直接new对应type类型的控件)
const sceneModePicker = new mars3d.control.SceneModePicker()
map.addControl(sceneModePicker)
}
/**
* 释放当前地图业务的生命周期函数
* @returns {void} 无
*/
export function onUnmounted() {
map = null
}
import * as mars3d from "mars3d"
export let map // mars3d.Map三维地图对象
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
export const mapOptions = function (option) {
option.control = {
timeline: { zoom: false, enabled: false }, // 方式1:options中添加控件 ; zoom - 禁止缩放
animation: false
}
return option
}
/**
* 初始化地图业务,生命周期钩子函数(必须)
* 框架在地图初始化完成后自动调用该函数
* @param {mars3d.Map} mapInstance 地图对象
* @returns {void} 无
*/
export function onMounted(mapInstance) {
map = mapInstance // 记录map
// 方式2:在创建地球后按需调用addControl添加(直接new对应type类型的控件)
// zoom - 禁止缩放
const timeline = new mars3d.control.Timeline({
zoom: false
// style: { top: "10px", left: 0 } // 改变位置
})
map.addControl(timeline)
}
/**
* 释放当前地图业务的生命周期函数
* @returns {void} 无
*/
export function onUnmounted() {
map = null
}
...@@ -140,6 +140,11 @@ function showCarList(arr) { ...@@ -140,6 +140,11 @@ function showCarList(arr) {
...modelParam, ...modelParam,
clampToGround: true clampToGround: true
}, },
// billboard: {
// image: "img/icon/huojian.svg",
// scale: 0.5,
// alignedAxis: true
// },
circle: { circle: {
radius: 50, radius: 50,
materialType: mars3d.MaterialType.CircleWave, materialType: mars3d.MaterialType.CircleWave,
......
...@@ -61,10 +61,18 @@ function addDemoGraphic1(graphicLayer) { ...@@ -61,10 +61,18 @@ function addDemoGraphic1(graphicLayer) {
color: "#f2fa19", color: "#f2fa19",
speed: 10, speed: 10,
reverse: false, // 方向:true往上、false往下 reverse: false, // 方向:true往上、false往下
label: {
text: "我是走马灯围墙",
font_size: 18,
color: "#ffffff",
show: false
},
// 高亮时的样式(默认为鼠标移入,也可以指定type:'click'单击高亮),构造后也可以openHighlight、closeHighlight方法来手动调用 // 高亮时的样式(默认为鼠标移入,也可以指定type:'click'单击高亮),构造后也可以openHighlight、closeHighlight方法来手动调用
highlight: { highlight: {
color: "#ff0000" color: "#ff0000",
label: {
show: true
}
} }
}, },
attr: { remark: "示例1", xiaoguo: "鼠标移入时展示高亮效果" } attr: { remark: "示例1", xiaoguo: "鼠标移入时展示高亮效果" }
......
...@@ -6,6 +6,10 @@ export let map // mars3d.Map三维地图对象 ...@@ -6,6 +6,10 @@ export let map // mars3d.Map三维地图对象
export const mapOptions = { export const mapOptions = {
scene: { scene: {
center: { lat: 28.118943, lng: 114.834765, alt: 4038547, heading: 351, pitch: -83 } center: { lat: 28.118943, lng: 114.834765, alt: 4038547, heading: 351, pitch: -83 }
},
control: {
timeline: true,
clockAnimate: true
} }
} }
...@@ -18,7 +22,7 @@ export const mapOptions = { ...@@ -18,7 +22,7 @@ export const mapOptions = {
export function onMounted(mapInstance) { export function onMounted(mapInstance) {
map = mapInstance // 记录首次创建的map map = mapInstance // 记录首次创建的map
showImages() showImagesByGraphic()
} }
/** /**
...@@ -29,6 +33,92 @@ export function onUnmounted() { ...@@ -29,6 +33,92 @@ export function onUnmounted() {
map = null map = null
} }
// RectangleEntity的方式
async function showImagesByGraphic() {
const urlArr = [
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522145400_0c972b7abe4f4b4fbdbe909f5c1ca17a.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522150000_55c4adac7ac8460db3d893866897bd6d.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522150600_ca075253d90e40049f069d22a1a3ce3d.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522151200_afe188f5892d4dd8a4d09d94c746ce1f.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522151800_b10b132f2d52424e9ab55a61896e86b0.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522152400_4ad54289d6f64f5aaa160f453a99b14a.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522153000_cf72453eba0b4b33966f69899771ba16.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522153600_c3aac59805ec433bae08bc8d77d25d20.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522154200_42a885bb66144e698190c38d02b3be96.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522154800_4564689c557e43ff993ad0113363bd6d.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522155400_4742e31563464542a533a43d5414a7ae.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522160000_487da64a0f384795848e60f2ed343500.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522160600_9a1cf5da2f2c46158f113c057b9bb079.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522161200_76861453df20413fa1eff57c8c938758.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522161800_767d25a128e94d968522badfaf071a66.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522162400_8b949a9d47fd4f289bd51afe9e009ab9.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522163000_9f234335ae2c42ac91d5dfc62b72f3db.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522163600_a808919c4a5a4142b188520a74dacf75.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522164200_248688f96cfd438eb5229812dfb748c3.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522164800_797dd13e0a304fbe934fee1902b7fc21.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522165400_0be5ef511d6c467288ec9f7b961821bd.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522170000_a1820b8d4527467a85db7fee3b352bbb.png",
"//data.mars3d.cn/file/img/radar_water/20200522145400_20200522170600_964ada943fcf4a13aa59364b1efd0b1b.png"
]
// 添加矢量图层
const graphicLayer = new mars3d.layer.GraphicLayer()
map.addLayer(graphicLayer)
// 指定固定时间 ,方便写演示代码。
const startTime = Cesium.JulianDate.fromDate(new Date("2017-08-25 08:00:00"))
let stopTime
let tempTime = startTime.clone()
// 预加载图片
const arrImage = []
const property = new Cesium.TimeIntervalCollectionProperty()
for (let i = 0, len = urlArr.length; i < len; i++) {
const image = await Cesium.Resource.fetchImage({ url: urlArr[i] })
arrImage.push(image)
// 采用属性机制,与时间轴关联起来
stopTime = Cesium.JulianDate.addSeconds(tempTime, 3, new Cesium.JulianDate()) // 演示时间,显示3秒
property.intervals.addInterval(
new Cesium.TimeInterval({
start: tempTime, // 在 start至stop 这个时间段显示该图片
stop: stopTime,
isStartIncluded: true,
isStopIncluded: false,
data: image
})
)
tempTime = stopTime
}
// 时钟设置
map.clock.startTime = startTime.clone()
map.clock.stopTime = stopTime.clone()
map.clock.currentTime = startTime
map.clock.multiplier = 1 // 当前速度,默认为1
map.clock.clockRange = Cesium.ClockRange.LOOP_STOP // 到达终止时间后循环
if (map.controls.timeline) {
map.controls.timeline.zoomTo(startTime, stopTime)
}
console.log("图片列表预加载完成", arrImage) // 打印图片数组
// 添加图片graphic
const graphic = new mars3d.graphic.RectangleEntity({
positions: [
[63.8148899733, 12.7700338517],
[143.536486117, 56.3833398551]
],
style: {
materialType: mars3d.MaterialType.Image2,
materialOptions: {
image: property
}
}
})
graphicLayer.addGraphic(graphic)
}
// ImageLayer的方式,直接替换 // ImageLayer的方式,直接替换
function showImages() { function showImages() {
const urlArr = [ const urlArr = [
...@@ -145,64 +235,3 @@ function showImagesByAlpha() { ...@@ -145,64 +235,3 @@ function showImagesByAlpha() {
changeRadarAlpha(1) changeRadarAlpha(1)
} }
// RectangleEntity的方式
// function showImages2() {
// const urlArr = [
// "//data.mars3d.cn/file/img/radar/201906211112.PNG",
// "//data.mars3d.cn/file/img/radar/201906211124.PNG",
// "//data.mars3d.cn/file/img/radar/201906211130.PNG",
// "//data.mars3d.cn/file/img/radar/201906211136.PNG",
// "//data.mars3d.cn/file/img/radar/201906211142.PNG"
// ]
// const arrMaterial = []
// for (let i = 0, len = urlArr.length; i < len; i++) {
// const material = new mars3d.material.Image2MaterialProperty({
// image: urlArr[i],
// opacity: 0.0
// })
// const graphic = new mars3d.graphic.RectangleEntity({
// positions: [
// [73.16895, 13.2023],
// [134.86816, 55.11485]
// ],
// style: {
// material: material,
// clampToGround: true
// }
// })
// map.graphicLayer.addGraphic(graphic)
// arrMaterial.push(material)
// }
// let step = 0
// const alphaStep = 0.01
// let idxTimer
// function changeRadarAlpha(time) {
// if (step > arrMaterial.length - 1) {
// step = 0
// arrMaterial[arrMaterial.length - 1].alpha = 0
// }
// const material1 = arrMaterial[step]
// const material2 = arrMaterial[step + 1]
// if (!material1 || !material2) {
// return
// }
// material1.opacity = 1
// material2.opacity = 0
// clearInterval(idxTimer)
// idxTimer = window.setInterval(function () {
// material1.opacity -= alphaStep
// material2.opacity += alphaStep
// if (material1.opacity < alphaStep) {
// material1.opacity = 0
// step++
// changeRadarAlpha(time)
// }
// }, time * 1000 * alphaStep)
// }
// changeRadarAlpha(1)
// }
...@@ -100,7 +100,7 @@ export function startPoint(type) { ...@@ -100,7 +100,7 @@ export function startPoint(type) {
* 终点按钮 * 终点按钮
* *
* @export * @export
* @param {string} type 不同方式路线查询 * @param {number} type 不同方式路线查询
* @returns {string} * @returns {string}
*/ */
export function endPoint(type) { export function endPoint(type) {
......
...@@ -138,6 +138,7 @@ class CesiumRoleController { ...@@ -138,6 +138,7 @@ class CesiumRoleController {
} }
setFlagStatus(key, value) { setFlagStatus(key, value) {
if (this.rolePrimitive) {
switch (key.keyCode) { switch (key.keyCode) {
case 65: case 65:
this.flag.moveLeft = value this.flag.moveLeft = value
...@@ -156,6 +157,8 @@ class CesiumRoleController { ...@@ -156,6 +157,8 @@ class CesiumRoleController {
} }
} }
}
validateKey(value) { validateKey(value) {
this.viewer.clockViewModel.shouldAnimate = value this.viewer.clockViewModel.shouldAnimate = value
this.keydownFlag = value this.keydownFlag = value
...@@ -285,6 +288,7 @@ class CesiumRoleController { ...@@ -285,6 +288,7 @@ class CesiumRoleController {
minimumPixelSize: 128 minimumPixelSize: 128
}) })
this.rolePrimitive = this.viewer.scene.primitives.add(model) this.rolePrimitive = this.viewer.scene.primitives.add(model)
this.rolePrimitive.readyEvent.addEventListener(() => { this.rolePrimitive.readyEvent.addEventListener(() => {
if (Options.animation) { if (Options.animation) {
this.rolePrimitive.activeAnimations.add({ this.rolePrimitive.activeAnimations.add({
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论