| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- <template>
- <!-- 时空算子库 -->
- <div class="example">
- <div id="skysceneryContainer"></div>
- <!-- 操作栏 -->
- <ControlPanel ref="controlPanel" />
- </div>
- </template>
- <script>
- import ControlPanel from "../../components/wgn/controlPanel.vue";
- // 需要开发出一个时空算子库的示例页面:需要能绘制点线面的工具,且能包装绘制的几何对象传入到后台接口中
- export default {
- name: "wgnExample",
- // 2. 局部注册组件(键值同名可简写)
- components: {
- ControlPanel, // 完整写法:MyButton: MyButton
- },
- data() {
- return {};
- },
- mounted() {
- window.SkySceneryConfig = {};
- window.loadScripts([systemConfig.scriptMain]).then(() => {
- this.creatMap();
- });
- },
- methods: {
- creatMap() {
- window.viewer = new SkyScenery.Viewer("skysceneryContainer", {
- animation: false, //是否创建动画小器件,左下角仪表
- baseLayerPicker: false, //是否显示图层选择器
- imageryProvider: new SkyScenery.SingleTileImageryProvider({
- url: (function createColorCanvas(color) {
- var width = 1,
- height = 1;
- var canvas = document.createElement("canvas");
- canvas.width = width;
- canvas.height = height;
- var ctx = canvas.getContext("2d");
- ctx.fillStyle = color;
- ctx.fillRect(0, 0, width, height);
- return canvas.toDataURL();
- })("#ffffff00"),
- rectangle: SkyScenery.Rectangle.fromDegrees(-180.0, -90.0, 180.0, 90.0),
- }),
- fullscreenButton: false, //是否显示全屏按钮
- geocoder: false, //是否显示geocoder小器件,右上角查询按钮
- homeButton: false, //是否显示Home按钮
- infoBox: false, //是否显示信息框
- sceneModePicker: false, //是否显示3D/2D选择器
- selectionIndicator: false, //是否显示选取指示器组件
- timeline: false, //是否显示时间轴
- navigationHelpButton: false, //是否显示右上角的帮助按钮
- scene3DOnly: true, //如果设置为true,则所有几何图形以3D模式绘制以节约GPU资源
- shouldAnimate: false, //是否自动播放
- // 性能优化配置
- requestRenderMode: true,
- maximumRenderTimeChange: Infinity,
- preserveDrawingBuffer: false,
- useBrowserRecommendedResolution: true,
- });
- // 添加地图服务
- viewer.imageryLayers.addImageryProvider(
- new SkyScenery.ArcGisMapServerImageryProvider({
- url:
- "https://szlszxdt.qpservice.org.cn/internal_map/?servertype=shmap_blue_web&proxyToken=" +
- SkySceneryConfig.token,
- enablePickFeatures: false, // 禁用要素拾取功能以提高性能
- })
- );
- // 定位
- viewer.camera.setView({
- destination: SkyScenery.Cartesian3.fromDegrees(121.1, 31, 30000.0), // 设置位置
- orientation: {
- heading: SkyScenery.Math.toRadians(0.0), // 方向
- pitch: SkyScenery.Math.toRadians(-90.0), // 倾斜角度
- roll: 0,
- },
- });
- this.$refs["controlPanel"].initDrawHandler();
- },
- },
- };
- </script>
- <style lang="less" scoped>
- .example {
- width: 100%;
- // height: calc(100vh - 120px);
- height: 100vh;
- position: relative;
- overflow: hidden;
- }
- #skysceneryContainer {
- width: 70vw;
- max-width: calc(100vw - 500px);
- height: 100%;
- }
- </style>
|