<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <script src="http://bigemap.com/offline_data/newjunbiao/vue.js"></script> <link href="http://ua.bigemap.com:30081/bmsdk/bigemap-gl.js/v1.1.0/Widgets/widgets.css" rel="stylesheet" /> <script src="http://ua.bigemap.com:30081/bmsdk/bigemap-gl.js/v1.1.0/bigemap-gl.js"></script> <!-- elementui --> <script src="http://bigemap.com/offline_data/newjunbiao/elementui.js"></script> <link rel="stylesheet" href="http://bigemap.com/offline_data/newjunbiao/elementui.css" /> <title>加載面</title> <style> * { margin: 0; padding: 0; } html, body { width: 100%; height: 100%; } #app { width: 100%; height: 100%; } #baseMap { width: 100%; height: 100%; } .tools { position: absolute; z-index: 9; top: 40px; right: 60px; width: 200px; height: 40px; display: flex; align-items: center; } </style> </head> <body> <div id="app"> <div id="baseMap"></div> </div> <script> let viewer = null; window.onload = () => { new Vue({ el: "#app", data() { return {}; }, mounted() { this.initMap(); }, methods: { //初始化地圖 initMap() { bmgl.Config.HTTP_URL = "http://ua.bigemap.com:30081/bmsdk/"; viewer = new bmgl.Viewer("baseMap", { mapId: "bigemap.dc-satellite", infoBox: false, selectionIndicator: false, requestRenderMode: false, // terrainId指定離線服務器上發布的高程服務的id terrainId: "bigemap.dc-terrain", }); this.loadpolygons(); }, //加載面 loadpolygons() { // 多邊形默認會貼地 和 3dtiles viewer.entities.add({ polygon: { hierarchy: new bmgl.PolygonHierarchy( bmgl.Cartesian3.fromDegreesArray([ 102.6857758, 31.12937485, 102.6061249, 31.08410576, 102.6548767, 31.02469413, 102.7468872, 31.03351998, 102.7695465, 31.10762486, 102.7153015, 31.09939384, ]) ), material: bmgl.Color.BLUE.withAlpha(0.4), }, }); viewer.entities.add({ polygon: { hierarchy: new bmgl.PolygonHierarchy( bmgl.Cartesian3.fromDegreesArray([ 102.6857758, 31.12937485, 102.6061249, 31.08410576, 102.6548767, 31.02469413, 102.7468872, 31.03351998, 102.7695465, 31.10762486, 102.7153015, 31.09939384, ]) ), //設置多邊形離地高度 height: 5000, material: bmgl.Color.RED.withAlpha(0.4), }, }); viewer.entities.add({ polygon: { hierarchy: new bmgl.PolygonHierarchy( bmgl.Cartesian3.fromDegreesArray([ 102.927475, 31.22513296, 102.9103088, 31.16580959, 102.9975128, 31.13055038, 103.0970764, 31.18460914, 103.0414581, 31.25213919, ]) ), //設置多邊形離地高度 height: 6000, // 設置擠壓高度 ,當extrudedHeight小于height,多邊形的擠壓的高度的值為height減去extrudedHeight extrudedHeight: 5900, material: bmgl.Color.fromCssColorString( "#9cc53d" ), }, }); viewer.entities.add({ polygon: { hierarchy: new bmgl.PolygonHierarchy( bmgl.Cartesian3.fromDegreesArray([ 102.6541901, 31.26974779, 102.6191711, 31.19459488, 102.7262878, 31.18167195, 102.7578735, 31.24098538, 102.7125549, 31.26622633, ]) ), //設置多邊形離地高度 height: 6000, //設置擠壓高度,當extrudedHeight大于height,多邊形的擠壓的高度的值為extrudedHeight減去height extrudedHeight: 6400, material: bmgl.Color.fromCssColorString( "#59acff" ), }, }); viewer.entities.add({ polygon: { hierarchy: new bmgl.PolygonHierarchy( bmgl.Cartesian3.fromDegreesArray([ 102.7825928, 31.34718658, 102.8437042, 31.29146054, 102.9247284, 31.33135201, 102.8512573, 31.3682952, 102.8196716, 31.39291593, 102.7695465, 31.36888148, ]) ), //設置多邊形離地高度 height: 6000, //設置擠壓高度,當extrudedHeight等于height,多邊形為平面 extrudedHeight: 6000, material: bmgl.Color.ORANGE.withAlpha(0.6), }, }); viewer.flyTo(viewer.entities); }, }, beforeDestroy() { viewer.destroy(); viewer = null; }, }); }; </script> </body> </html>