From 0163b28ce3a2e0186b82e02fd8f98f8d9ee55340 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Tue, 22 Jun 2021 17:41:48 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/pyhmap
---
widgets/FlyRoute/fly.js | 858 ++++++++++++++++++++++++++++++--------------------------
1 files changed, 454 insertions(+), 404 deletions(-)
diff --git a/widgets/FlyRoute/fly.js b/widgets/FlyRoute/fly.js
index 513ed97..94f9d1f 100644
--- a/widgets/FlyRoute/fly.js
+++ b/widgets/FlyRoute/fly.js
@@ -1,438 +1,488 @@
function newSite(x, y, z, h, p, time, ids) {
- if (x != null && y != null && z != null && h != null && p != null && time != null && ids != null) {
- this.position_x = x;
- this.position_y = y;
- this.position_z = z;
- this.pitch = p;
- this.heading = h;
- this.time = time;
- this.ids = ids;
- } else {
- return false;
- }
+ if (x != null && y != null && z != null && h != null && p != null && time != null && ids != null) {
+ this.position_x = x;
+ this.position_y = y;
+ this.position_z = z;
+ this.pitch = p;
+ this.heading = h;
+ this.time = time;
+ this.ids = ids;
+ } else {
+ return false;
+ }
}
function Fly_NZC(viewer) {
- this.viewer = viewer;
- this.scene = viewer.scene;
- this.entities = viewer.entities;
- //全部飞行站点数组
- this.allSites = [];
- var that = this;
- this.checkIds = function (ids) {
- for (var i = 0; i < that.allSites.length + 1; i++) {
- if (i == that.allSites.length) {
- return false;
- break;
- }
- if (that.allSites[i].ids == ids) {
- return i;
- break;
- }
- }
- };
- this.RouteCollection = {
- //线颜色
- //LineColor:Cesium.Color.WHITE,
- //站点和路线显隐是否开启
- point_show: true,
- line_show: true,
- //站点图片路径
- img_path: "widgets/FlyRoute/images/location4.png",
- //飞行路线颜色
- /* setLineColor:function(){
- Cesium.Color.WHITE,
- },*/
- AddRoute: function (Route) {
- this.deleteEntities();
- that.allSites = [];
- for (var i = 0; i < Route.length; i++) {
- let cartesian3 = Cesium.Cartesian3.fromDegrees(Route[i].lgtd, Route[i].lttd, Route[i].height);
- let site = {
- "ids": Route[i].id,
- "position_x": cartesian3.x,
- "position_y": cartesian3.y,
- "position_z": cartesian3.z,
- "pitch": Cesium.Math.toRadians(Route[i].pitch),
- "heading": Cesium.Math.toRadians(Route[i].heading),
- "roll": Cesium.Math.toRadians(Route[i].roll),
- "time": Route[i].time
- };
- that.allSites[i] = site;
- }
- this.controlEntities();
+ this.viewer = viewer;
+ this.scene = viewer.scene;
+ this.entities = viewer.entities;
+ //全部飞行站点数组
+ this.allSites = [];
+ var that = this;
+ this.checkIds = function (ids) {
+ for (var i = 0; i < that.allSites.length + 1; i++) {
+ if (i == that.allSites.length) {
+ return false;
+ break;
+ }
+ if (that.allSites[i].ids == ids) {
+ return i;
+ break;
+ }
+ }
+ img_path
+ };
+ this.RouteCollection = {
+ //线颜色
+ //LineColor:Cesium.Color.WHITE,
+ //站点和路线显隐是否开启
+ point_show: true,
+ line_show: true,
+ //站点图片路径
+ img_path: "widgets/FlyRoute/images/location4.png",
+ //飞行路线颜色
+ /* setLineColor:function(){
+ Cesium.Color.WHITE,
+ },*/
+ AddRoute: function (Route) {
+ this.deleteEntities();
+ that.allSites = [];
+ for (var i = 0; i < Route.length; i++) {
+ let cartesian3 = Cesium.Cartesian3.fromDegrees(Route[i].lgtd, Route[i].lttd, Route[i].height);
+ let site = {
+ "ids": Route[i].id,
+ "position_x": cartesian3.x,
+ "position_y": cartesian3.y,
+ "position_z": cartesian3.z,
+ "pitch": Cesium.Math.toRadians(Route[i].pitch),
+ "heading": Cesium.Math.toRadians(Route[i].heading),
+ "roll": Cesium.Math.toRadians(Route[i].roll),
+ "time": Route[i].time
+ };
+ that.allSites[i] = site;
+ }
+ this.controlEntities();
- },
- //设置点图片
- setPointImg: function (path) {
+ },
+ //设置点图片
+ setPointImg: function (path) {
- this.img_path = path;
- this.controlEntities();
+ this.img_path = path;
+ this.controlEntities();
- },
- //mod=0为设置点的可见,1为设置线的可见,2为控制点和线的可见
- setVisible: function (mod, bool) {
- if (mod === 0) {
- this.point_show = bool;
- }
- if (mod === 1) {
- this.line_show = bool;
- }
- if (mod === 2) {
- this.point_show = bool;
- this.line_show = bool;
- }
- this.controlEntities();
+ },
+ //mod=0为设置点的可见,1为设置线的可见,2为控制点和线的可见
+ setVisible: function (mod, bool) {
+ if (mod === 0) {
+ this.point_show = bool;
+ }
+ if (mod === 1) {
+ this.line_show = bool;
+ }
+ if (mod === 2) {
+ this.point_show = bool;
+ this.line_show = bool;
+ }
+ this.controlEntities();
- },
- //通过传入站点类添加站点
- AddSite: function (newSite) {
- //判断id是否重复
- var bool = that.checkIds(newSite.ids);
- if (bool) {
- return false;
- } else {
- var Site = {};
- Site.position_x = newSite.position_x;
- Site.position_y = newSite.position_y;
- Site.position_z = newSite.position_z;
- Site.heading = newSite.heading;
- Site.pitch = newSite.pitch;
- //Site.roll=camera.roll;
- Site.time = newSite.time;
- Site.ids = newSite.ids;
- that.allSites.push(Site);
- this.controlEntities();
- return true;
- }
- },
- //添加当前视角为站点需要传入id
- AddSiteByView: function (ids) {
- //判断id是否重复
- var bool = that.checkIds(ids);
- if (bool) {
- return false;
- } else {
- try {
- var position = that.scene.camera.position;
- //获取当前相机位置参数(飞行用)
- var Site = {};
- Site.position_x = position.x;
- Site.position_y = position.y;
- Site.position_z = position.z;
- Site.heading = that.scene.camera.heading;
- Site.pitch = that.scene.camera.pitch;
- Site.roll = that.scene.camera.roll;
- Site.time = 3;
- Site.ids = ids;
- //添加到站点数组
- that.allSites.push(Site);
- this.controlEntities();
- return true;
- } catch (e) {
- return false;
- }
+ },
+ //通过传入站点类添加站点
+ AddSite: function (newSite) {
+ //判断id是否重复
+ var bool = that.checkIds(newSite.ids);
+ if (bool) {
+ return false;
+ } else {
+ var Site = {};
+ Site.position_x = newSite.position_x;
+ Site.position_y = newSite.position_y;
+ Site.position_z = newSite.position_z;
+ Site.heading = newSite.heading;
+ Site.pitch = newSite.pitch;
+ //Site.roll=camera.roll;
+ Site.time = newSite.time;
+ Site.ids = newSite.ids;
+ that.allSites.push(Site);
+ this.controlEntities();
+ return true;
+ }
+ },
+ //添加当前视角为站点需要传入id
+ AddSiteByView: function (ids) {
+ //判断id是否重复
+ var bool = that.checkIds(ids);
+ if (bool) {
+ return false;
+ } else {
+ try {
+ var position = that.scene.camera.position;
+ //获取当前相机位置参数(飞行用)
+ var Site = {};
+ Site.position_x = position.x;
+ Site.position_y = position.y;
+ Site.position_z = position.z;
+ Site.heading = that.scene.camera.heading;
+ Site.pitch = that.scene.camera.pitch;
+ Site.roll = that.scene.camera.roll;
+ Site.time = 3;
+ Site.ids = ids;
+ //添加到站点数组
+ that.allSites.push(Site);
+ this.controlEntities();
+ return true;
+ } catch (e) {
+ return false;
+ }
- }
- },
- //根据索引获取站点信息
- getSiteByIndex: function (index) {
- return that.allSites[index];
- },
- deleteEntities: function () {
- //50000+为线id
- for (var i = 0; i < that.allSites.length; i++) {
- that.entities.removeById(that.allSites[i].ids);
- }
- for (var i = 1; i < 500000; i++) {
- var ids = parseInt(50000 + i);
- var entities_del = that.entities.getById(ids);
- if (entities_del) {
- that.entities.remove(entities_del);
- } else {
- break;
- }
+ }
+ },
+ //根据索引获取站点信息
+ getSiteByIndex: function (index) {
+ return that.allSites[index];
+ },
+ deleteEntities: function () {
+ //50000+为线id
+ for (var i = 0; i < that.allSites.length; i++) {
+ that.entities.removeById(that.allSites[i].ids);
+ }
+ for (var i = 1; i < 500000; i++) {
+ var ids = parseInt(50000 + i);
+ var entities_del = that.entities.getById(ids);
+ if (entities_del) {
+ that.entities.remove(entities_del);
+ } else {
+ break;
+ }
- }
- },
- controlEntities: function () {
- var position_1, position_2, x1, x2, y1, y2, z1, z2, point_1_cartographic, point_2_cartographic;
- //添加和删除站点,更改颜色或图片后,先清空entities,然后重新添加。
- this.deleteEntities();
- //添加显示的站点
- var length = that.allSites.length;
- if (this.point_show == true) {
- for (var j = 0; j < length; j++) {
- that.entities.add({
- position: new Cesium.Cartesian3(that.allSites[j].position_x, that.allSites[j].position_y, that.allSites[j].position_z),
- billboard: {
- image: this.img_path,
- width: 30,
- height: 40,
- },
- //name : 10000+j,
- id: that.allSites[j].ids
- });
- }
- }
- //添加显示的线
- if (this.line_show == true) {
- for (var j = 1; j < length; j++) {
- //将笛卡尔坐标转为经纬度坐标,用于绘制线
- position_1 = new Cesium.Cartesian3(that.allSites[j].position_x, that.allSites[j].position_y, that.allSites[j].position_z)
- point_1_cartographic = Cesium.Cartographic.fromCartesian(position_1);
- x1 = Cesium.Math.toDegrees(point_1_cartographic.longitude);
- y1 = Cesium.Math.toDegrees(point_1_cartographic.latitude);
- z1 = point_1_cartographic.height;
+ }
+ },
+ controlEntities: function () {
+ var position_1, position_2, x1, x2, y1, y2, z1, z2, point_1_cartographic, point_2_cartographic;
+ //添加和删除站点,更改颜色或图片后,先清空entities,然后重新添加。
+ this.deleteEntities();
+ //添加显示的站点
+ var length = that.allSites.length;
+ if (this.point_show == true) {
+ for (var j = 0; j < length; j++) {
+ that.entities.add({
+ position: new Cesium.Cartesian3(that.allSites[j].position_x, that.allSites[j].position_y, that.allSites[j].position_z),
+ billboard: {
+ image: this.img_path,
+ width: 30,
+ height: 40,
+ },
+ //name : 10000+j,
+ id: that.allSites[j].ids
+ });
+ }
+ }
+ //添加显示的线
+ if (this.line_show == true) {
+ for (var j = 1; j < length; j++) {
+ //将笛卡尔坐标转为经纬度坐标,用于绘制线
+ position_1 = new Cesium.Cartesian3(that.allSites[j].position_x, that.allSites[j].position_y, that.allSites[j].position_z)
+ point_1_cartographic = Cesium.Cartographic.fromCartesian(position_1);
+ x1 = Cesium.Math.toDegrees(point_1_cartographic.longitude);
+ y1 = Cesium.Math.toDegrees(point_1_cartographic.latitude);
+ z1 = point_1_cartographic.height;
- position_2 = new Cesium.Cartesian3(that.allSites[j - 1].position_x, that.allSites[j - 1].position_y, that.allSites[j - 1].position_z)
- point_2_cartographic = Cesium.Cartographic.fromCartesian(position_2);
- x2 = Cesium.Math.toDegrees(point_2_cartographic.longitude);
- y2 = Cesium.Math.toDegrees(point_2_cartographic.latitude);
- z2 = point_2_cartographic.height;
- that.entities.add({
- id: 50000 + j,
- // name : drowallStops.length,
- polyline: {
- positions: Cesium.Cartesian3.fromDegreesArrayHeights([x1, y1, z1, x2, y2, z2]),
- width: 5,
- material: Cesium.Color.WHITE
- }
- });
+ position_2 = new Cesium.Cartesian3(that.allSites[j - 1].position_x, that.allSites[j - 1].position_y, that.allSites[j - 1].position_z)
+ point_2_cartographic = Cesium.Cartographic.fromCartesian(position_2);
+ x2 = Cesium.Math.toDegrees(point_2_cartographic.longitude);
+ y2 = Cesium.Math.toDegrees(point_2_cartographic.latitude);
+ z2 = point_2_cartographic.height;
+ that.entities.add({
+ id: 50000 + j,
+ // name : drowallStops.length,
+ polyline: {
+ positions: Cesium.Cartesian3.fromDegreesArrayHeights([x1, y1, z1, x2, y2, z2]),
+ width: 5,
+ material: Cesium.Color.WHITE
+ }
+ });
- }
- }
- //如果关闭显示了站点和飞行路线,添加的新站点和飞行路线将先不显示
- if (this.line_show == false) {
- for (var j = 1; j < length; j++) {
- //将笛卡尔坐标转为经纬度坐标,用于绘制线
- position_1 = new Cesium.Cartesian3(that.allSites[j].position_x, that.allSites[j].position_y, that.allSites[j].position_z)
- point_1_cartographic = Cesium.Cartographic.fromCartesian(position_1);
- x1 = Cesium.Math.toDegrees(point_1_cartographic.longitude);
- y1 = Cesium.Math.toDegrees(point_1_cartographic.latitude);
- z1 = point_1_cartographic.height;
+ }
+ }
+ //如果关闭显示了站点和飞行路线,添加的新站点和飞行路线将先不显示
+ if (this.line_show == false) {
+ for (var j = 1; j < length; j++) {
+ //将笛卡尔坐标转为经纬度坐标,用于绘制线
+ position_1 = new Cesium.Cartesian3(that.allSites[j].position_x, that.allSites[j].position_y, that.allSites[j].position_z)
+ point_1_cartographic = Cesium.Cartographic.fromCartesian(position_1);
+ x1 = Cesium.Math.toDegrees(point_1_cartographic.longitude);
+ y1 = Cesium.Math.toDegrees(point_1_cartographic.latitude);
+ z1 = point_1_cartographic.height;
- position_2 = new Cesium.Cartesian3(that.allSites[j - 1].position_x, that.allSites[j - 1].position_y, that.allSites[j - 1].position_z)
- point_2_cartographic = Cesium.Cartographic.fromCartesian(position_2);
- x2 = Cesium.Math.toDegrees(point_2_cartographic.longitude);
- y2 = Cesium.Math.toDegrees(point_2_cartographic.latitude);
- z2 = point_2_cartographic.height;
- that.entities.add({
- id: 50000 + j,
- show: false,
- // name : drowallStops.length,
- polyline: {
- positions: Cesium.Cartesian3.fromDegreesArrayHeights([x1, y1, z1, x2, y2, z2]),
- width: 5,
- material: Cesium.Color.WHITE
- }
- });
+ position_2 = new Cesium.Cartesian3(that.allSites[j - 1].position_x, that.allSites[j - 1].position_y, that.allSites[j - 1].position_z)
+ point_2_cartographic = Cesium.Cartographic.fromCartesian(position_2);
+ x2 = Cesium.Math.toDegrees(point_2_cartographic.longitude);
+ y2 = Cesium.Math.toDegrees(point_2_cartographic.latitude);
+ z2 = point_2_cartographic.height;
+ that.entities.add({
+ id: 50000 + j,
+ show: false,
+ // name : drowallStops.length,
+ polyline: {
+ positions: Cesium.Cartesian3.fromDegreesArrayHeights([x1, y1, z1, x2, y2, z2]),
+ width: 5,
+ material: Cesium.Color.WHITE
+ }
+ });
- }
+ }
- }
- if (this.point_show == false) {
- for (var j = 0; j < length; j++) {
- that.entities.add({
- position: new Cesium.Cartesian3(that.allSites[j].position_x, that.allSites[j].position_y, that.allSites[j].position_z),
- billboard: {
- image: this.img_path,
- width: 30,
- height: 40,
- },
- show: false,
- //name : 10000+j,
- id: that.allSites[j].ids
- });
- }
- }
- },
- removeAllSites: function () {
- this.deleteEntities();
- that.allSites = [];
+ }
+ if (this.point_show == false) {
+ for (var j = 0; j < length; j++) {
+ that.entities.add({
+ position: new Cesium.Cartesian3(that.allSites[j].position_x, that.allSites[j].position_y, that.allSites[j].position_z),
+ billboard: {
+ image: this.img_path,
+ width: 30,
+ height: 40,
+ },
+ show: false,
+ //name : 10000+j,
+ id: that.allSites[j].ids
+ });
+ }
+ }
+ },
+ removeAllSites: function () {
+ this.deleteEntities();
+ that.allSites = [];
- },
- removeSiteById: function (ids) {
- var id = that.checkIds(ids)
- if (id) {
- this.deleteEntities();
- that.allSites.splice(id, 1);
- this.controlEntities();
+ },
+ removeSiteById: function (ids) {
+ var id = that.checkIds(ids)
+ if (id) {
+ this.deleteEntities();
+ that.allSites.splice(id, 1);
+ this.controlEntities();
- } else {
- return false
- }
+ } else {
+ return false
+ }
- }
+ }
- };
- this.l = 0;
- this.b = 0;
- //用于判断执行的时暂停还是停止
- this.play_bool = true;
- var x, y, z, p, h;
- this.setInterval_fly = null;
- this.setcamera = function () {
- //设置俯仰角
- var set = that.allSites[that.l].time * 50
- that.viewer.camera.setView({
- orientation: {
- heading: viewer.scene.camera.heading + h / set,
- pitch: viewer.scene.camera.pitch + p / set,
- roll: 0.0
- }
- });
- //move移动相机
- that.viewer.camera.move(new Cesium.Cartesian3(x, y, z), 1 / set);
- that.b--;
- if (that.b <= 0) {
- that.l++;
- clearInterval(that.setInterval_fly);
- that.setInterval_fly = null;
- that.Interval();
- // that.b=0;
- }
- };
- this.Interval = function () {
- var l = that.l;
- if (that.play_bool) {
- that.b = that.allSites[l].time * 50
- } else {
- that.play_bool = true;
- }
- if (that.allSites[l + 1]) {
- x = that.allSites[l + 1].position_x - that.allSites[l].position_x;
- y = that.allSites[l + 1].position_y - that.allSites[l].position_y;
- z = that.allSites[l + 1].position_z - that.allSites[l].position_z;
- p = that.allSites[l + 1].pitch - that.allSites[l].pitch;
- h = that.allSites[l + 1].heading - that.allSites[l].heading;
+ };
+ this.l = 0;
+ this.b = 0;
+ //用于判断执行的时暂停还是停止
+ this.play_bool = true;
+ var x, y, z, p, h;
+ this.setInterval_fly = null;
+ this.setcamera = function () {
+ //设置俯仰角
+ var set = that.allSites[that.l].time * 50
+ that.viewer.camera.setView({
+ orientation: {
+ heading: viewer.scene.camera.heading + h / set,
+ pitch: viewer.scene.camera.pitch + p / set,
+ roll: 0.0
+ }
+ });
+ //move移动相机
+ that.viewer.camera.move(new Cesium.Cartesian3(x, y, z), 1 / set);
+ that.b--;
+ if (that.b <= 0) {
+ that.l++;
+ clearInterval(that.setInterval_fly);
+ that.setInterval_fly = null;
+ that.Interval();
+ // that.b=0;
+ }
+ };
+ this.Interval = function () {
+ var l = that.l;
+ if (that.play_bool) {
+ that.b = that.allSites[l].time * 50
+ } else {
+ that.play_bool = true;
+ }
+ if (that.allSites[l + 1]) {
+ x = that.allSites[l + 1].position_x - that.allSites[l].position_x;
+ y = that.allSites[l + 1].position_y - that.allSites[l].position_y;
+ z = that.allSites[l + 1].position_z - that.allSites[l].position_z;
+ p = that.allSites[l + 1].pitch - that.allSites[l].pitch;
+ h = that.allSites[l + 1].heading - that.allSites[l].heading;
- var tem = Cesium.Math.toDegrees(that.allSites[l + 1].heading) - Cesium.Math.toDegrees(that.allSites[l].heading);
- if (Math.abs(tem) > 180) {
- if (tem >= 0) {
- tem = 360 - tem;
- } else {
- tem = 360 + tem;
- }
- h = Cesium.Math.toRadians(tem);
- }
- //that.b=that.allSites[l].time*20
- that.setInterval_fly = setInterval(that.setcamera, 20);
- } else {
- that.play_bool = true;
- that.l = 0;
- that.scene.screenSpaceCameraController.enableRotate = true;
- that.scene.screenSpaceCameraController.enableTranslate = true;
- that.scene.screenSpaceCameraController.enableZoom = true;
- that.scene.screenSpaceCameraController.enableTilt = true;
- that.scene.screenSpaceCameraController.enableLook = true;
- }
+ var tem = Cesium.Math.toDegrees(that.allSites[l + 1].heading) - Cesium.Math.toDegrees(that.allSites[l].heading);
+ if (Math.abs(tem) > 180) {
+ if (tem >= 0) {
+ tem = 360 - tem;
+ } else {
+ tem = 360 + tem;
+ }
+ h = Cesium.Math.toRadians(tem);
+ }
+ //that.b=that.allSites[l].time*20
+ that.setInterval_fly = setInterval(that.setcamera, 20);
+ } else {
+ that.play_bool = true;
+ that.l = 0;
+ that.scene.screenSpaceCameraController.enableRotate = true;
+ that.scene.screenSpaceCameraController.enableTranslate = true;
+ that.scene.screenSpaceCameraController.enableZoom = true;
+ that.scene.screenSpaceCameraController.enableTilt = true;
+ that.scene.screenSpaceCameraController.enableLook = true;
+ }
- };
+ };
- this.flyManager = {
- //用于储存暂停时的位置
- Site_pause: {},
- play: function () {
- //如果之前点的时停止重新开始飞行
- if (that.allSites.length > 1) {
- that.scene.screenSpaceCameraController.enableRotate = false;
- that.scene.screenSpaceCameraController.enableTranslate = false;
- that.scene.screenSpaceCameraController.enableZoom = false;
- that.scene.screenSpaceCameraController.enableTilt = false;
- that.scene.screenSpaceCameraController.enableLook = false;
+ this.flyManager = {
+ img_path: "widgets/FlyRoute/images/location4.png",
+ //用于储存暂停时的位置
+ Site_pause: {},
+ play: function () {
+
+ for (var i = 0; i < that.allSites.length; i++) {
+ that.entities.removeById(that.allSites[i].ids);
+ }
+
+ //如果之前点的时停止重新开始飞行
+ if (that.allSites.length > 1) {
+ that.scene.screenSpaceCameraController.enableRotate = false;
+ that.scene.screenSpaceCameraController.enableTranslate = false;
+ that.scene.screenSpaceCameraController.enableZoom = false;
+ that.scene.screenSpaceCameraController.enableTilt = false;
+ that.scene.screenSpaceCameraController.enableLook = false;
- if (that.play_bool) {
- //设置初始点
- that.scene.camera.setView({
- destination: new Cesium.Cartesian3(that.allSites[that.l].position_x, that.allSites[that.l].position_y, that.allSites[that.l].position_z),
- orientation: {
- heading: that.allSites[that.l].heading,
- pitch: that.allSites[that.l].pitch,
- roll: that.allSites[that.l].roll
- }
- });
- if (that.setInterval_fly) {
- clearInterval(that.setInterval_fly);
- }
- that.Interval();
+ if (that.play_bool) {
+ //设置初始点
+ that.scene.camera.setView({
+ destination: new Cesium.Cartesian3(that.allSites[that.l].position_x, that.allSites[that.l].position_y, that.allSites[that.l].position_z),
+ orientation: {
+ heading: that.allSites[that.l].heading,
+ pitch: that.allSites[that.l].pitch,
+ roll: that.allSites[that.l].roll
+ }
+ });
+ if (that.setInterval_fly) {
+ clearInterval(that.setInterval_fly);
+ }
+ that.Interval();
- } else {
- //如果之前是暂停,继续飞行
- that.scene.camera.setView({
- //将经度、纬度、高度的坐标转换为笛卡尔坐标
- destination: new Cesium.Cartesian3(this.Site_pause.position_x, this.Site_pause.position_y, this.Site_pause.position_z),
- orientation: {
- heading: this.Site_pause.heading,
- pitch: this.Site_pause.pitch,
- roll: this.Site_pause.roll
- }
- });
+ } else {
+ //如果之前是暂停,继续飞行
+ that.scene.camera.setView({
+ //将经度、纬度、高度的坐标转换为笛卡尔坐标
+ destination: new Cesium.Cartesian3(this.Site_pause.position_x, this.Site_pause.position_y, this.Site_pause.position_z),
+ orientation: {
+ heading: this.Site_pause.heading,
+ pitch: this.Site_pause.pitch,
+ roll: this.Site_pause.roll
+ }
+ });
- that.Interval();
- }
- }
+ that.Interval();
+ }
+ }
- },
- stop: function () {
- if (that.setInterval_fly != null) {
- clearInterval(that.setInterval_fly);
- that.setInterval_fly = null;
- }
- that.l = 0;
- that.play_bool = true;
- that.scene.screenSpaceCameraController.enableRotate = true;
- that.scene.screenSpaceCameraController.enableTranslate = true;
- that.scene.screenSpaceCameraController.enableZoom = true;
- that.scene.screenSpaceCameraController.enableTilt = true;
- that.scene.screenSpaceCameraController.enableLook = true;
- },
- pause: function () {
-
- if (that.setInterval_fly != null) {
- clearInterval(that.setInterval_fly);
- that.setInterval_fly = null;
- that.play_bool = false;
- }
- //获取暂停时的camera数据
- var position = that.scene.camera.position;
- this.Site_pause.position_x = position.x;
- this.Site_pause.position_y = position.y;
- this.Site_pause.position_z = position.z;
- this.Site_pause.heading = that.scene.camera.heading;
- this.Site_pause.pitch = that.scene.camera.pitch;
- this.Site_pause.roll = that.scene.camera.roll;
+ },
+ stop: function () {
+ //添加显示的站点
+ var length = that.allSites.length;
+ for (var j = 0; j < length; j++) {
+ var flag = false;
+ for (var i = 0; i < that.entities.values.length; i++) {
+ if (that.allSites[j].ids == that.entities.values[i].id) {
+ flag = true
+ }
+ }
+ if (flag == false) {
+ that.entities.add({
+ position: new Cesium.Cartesian3(that.allSites[j].position_x, that.allSites[j].position_y, that.allSites[j].position_z),
+ billboard: {
+ image: this.img_path,
+ width: 30,
+ height: 40,
+ },
+ //name : 10000+j,
+ id: that.allSites[j].ids
+ });
+ }
+ }
+ if (that.setInterval_fly != null) {
+ clearInterval(that.setInterval_fly);
+ that.setInterval_fly = null;
+ }
+ that.l = 0;
+ that.play_bool = true;
+ that.scene.screenSpaceCameraController.enableRotate = true;
+ that.scene.screenSpaceCameraController.enableTranslate = true;
+ that.scene.screenSpaceCameraController.enableZoom = true;
+ that.scene.screenSpaceCameraController.enableTilt = true;
+ that.scene.screenSpaceCameraController.enableLook = true;
+ },
+ pause: function () {
+ //添加显示的站点
+ var length = that.allSites.length;
+ for (var j = 0; j < length; j++) {
+ var flag = false;
+ for (var i = 0; i < that.entities.values.length; i++) {
+ if (that.allSites[j].ids == that.entities.values[i].id) {
+ flag = true
+ }
+ }
+ if (flag == false) {
+ that.entities.add({
+ position: new Cesium.Cartesian3(that.allSites[j].position_x, that.allSites[j].position_y, that.allSites[j].position_z),
+ billboard: {
+ image: this.img_path,
+ width: 30,
+ height: 40,
+ },
+ //name : 10000+j,
+ id: that.allSites[j].ids
+ });
+ }
+ }
+ if (that.setInterval_fly != null) {
+ clearInterval(that.setInterval_fly);
+ that.setInterval_fly = null;
+ that.play_bool = false;
+ }
+ //获取暂停时的camera数据
+ var position = that.scene.camera.position;
+ this.Site_pause.position_x = position.x;
+ this.Site_pause.position_y = position.y;
+ this.Site_pause.position_z = position.z;
+ this.Site_pause.heading = that.scene.camera.heading;
+ this.Site_pause.pitch = that.scene.camera.pitch;
+ this.Site_pause.roll = that.scene.camera.roll;
- that.scene.screenSpaceCameraController.enableRotate = true;
- that.scene.screenSpaceCameraController.enableTranslate = true;
- that.scene.screenSpaceCameraController.enableZoom = true;
- that.scene.screenSpaceCameraController.enableTilt = true;
- that.scene.screenSpaceCameraController.enableLook = true;
+ that.scene.screenSpaceCameraController.enableRotate = true;
+ that.scene.screenSpaceCameraController.enableTranslate = true;
+ that.scene.screenSpaceCameraController.enableZoom = true;
+ that.scene.screenSpaceCameraController.enableTilt = true;
+ that.scene.screenSpaceCameraController.enableLook = true;
- },
- SetStartSite: function (ids) {
- var bool = that.checkIds(ids);
- if (bool) {
- that.l = bool;
- return true;
- } else {
- return false;
- }
+ },
+ SetStartSite: function (ids) {
+ var bool = that.checkIds(ids);
+ if (bool) {
+ that.l = bool;
+ return true;
+ } else {
+ return false;
+ }
- },
- viewToSite: function (site) {
- that.scene.camera.setView({
- destination: new Cesium.Cartesian3(site.position_x, site.position_y, site.position_z),
- orientation: {
- heading: site.heading,
- pitch: site.pitch,
- roll: site.roll
- }
- });
+ },
+ viewToSite: function (site) {
+ that.scene.camera.setView({
+ destination: new Cesium.Cartesian3(site.position_x, site.position_y, site.position_z),
+ orientation: {
+ heading: site.heading,
+ pitch: site.pitch,
+ roll: site.roll
+ }
+ });
- }
+ }
- };
+ };
}
\ No newline at end of file
--
Gitblit v1.9.3