2382 lines
85 KiB
Vue
2382 lines
85 KiB
Vue
<template>
|
||
<div ref="vChartRef" id="mars3d-container" ></div>
|
||
</template>
|
||
|
||
<script setup lang="ts">
|
||
import { ref, PropType, toRefs, watch,onMounted,nextTick } from 'vue'
|
||
import AMapLoader from '@amap/amap-jsapi-loader'
|
||
import { CreateComponentType } from '@/packages/index.d'
|
||
import { useChartDataFetch } from '@/hooks'
|
||
import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
|
||
import { MarkerEnum, ThemeEnum } from './config'
|
||
import { isArray } from '@/utils'
|
||
import { EventBus } from '@/utils/eventBus';
|
||
|
||
import * as mars3d from "mars3d";
|
||
import { option } from '@/views/chart/ContentConfigurations/components/CanvasPage/components/CreateColorRenderChart/barOptions'
|
||
let map: mars3d.Map; // 地图对象
|
||
|
||
|
||
|
||
const props = defineProps({
|
||
chartConfig: {
|
||
type: Object as PropType<CreateComponentType>,
|
||
required: true
|
||
}
|
||
})
|
||
let {
|
||
amapKey,
|
||
amapStyleKey,
|
||
amapLon,
|
||
amapLat,
|
||
amapZindex,
|
||
mapMarkerType,
|
||
lang,
|
||
amapStyleKeyCustom,
|
||
features,
|
||
viewMode,
|
||
showLabel,
|
||
pitch,
|
||
skyColor,
|
||
marker,
|
||
satelliteTileLayer,
|
||
roadNetTileLayer,
|
||
trafficTileLayer
|
||
} = toRefs(props.chartConfig.option.mapOptions)
|
||
|
||
|
||
let mapIns: any = null
|
||
let markers: any = []
|
||
let AMapIns: any = null
|
||
|
||
const vChartRef = ref<HTMLElement>()
|
||
|
||
onMounted(()=>{
|
||
|
||
})
|
||
|
||
const isFirstLoad = ref(true);
|
||
const initMap = (newData: any) => {
|
||
// 第一次加载
|
||
if(isFirstLoad.value){
|
||
map = new mars3d.Map(vChartRef.value, newData);
|
||
}else{ // 之后更新
|
||
// map.setOptions(newData);
|
||
map.setSceneOptions(newData.scene);
|
||
}
|
||
isFirstLoad.value = false;
|
||
|
||
window.globalMap = map;
|
||
|
||
|
||
// 所有绑定的点击事件
|
||
let bindEvents = props.chartConfig.events.interactConfigEvents
|
||
|
||
console.log("bindEvents",bindEvents);
|
||
|
||
// 图层点击事件
|
||
window.globalMap.on(mars3d.EventType.click,(event)=>{
|
||
|
||
// alert("layer id:"+event.layer.id+"; graphic id:"+event.graphic.options.attr.id);
|
||
|
||
// 查找绑定的点击事件的图层
|
||
for(let i=0;i<bindEvents.length;i++){
|
||
console.log("bindEvent",bindEvents[i])
|
||
for(let j=0;j<bindEvents[i].movementList.length;j++){
|
||
console.log("bindEvent",bindEvents[i].movementList[j])
|
||
if(event.layer.id == bindEvents[i].movementList[j].params){
|
||
EventBus.emit(bindEvents[i].movementList[j].elementId[0]+"GraphicClick", event.graphic.options.attr);
|
||
}
|
||
}
|
||
}
|
||
|
||
})
|
||
|
||
// 初始化矢量图层
|
||
handlerInitEntityLayer();
|
||
// 初始化测量工具
|
||
handlerInitMeasureTool();
|
||
// 初始化绘图层
|
||
handlerInitDrawLayer();
|
||
|
||
return null;
|
||
// 初始化
|
||
AMapLoader.load({
|
||
key: amapKey.value, //api服务key--另外需要在public中使用安全密钥!!!
|
||
version: '1.4.15', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
|
||
plugins: ['AMap.PlaceSearch', 'AMap.AutoComplete'] // 需要使用的的插件列表
|
||
}).then(AMap => {
|
||
AMapIns = AMap
|
||
mapIns = new AMap.Map(vChartRef.value, {
|
||
resizeEnable: true,
|
||
zoom: amapZindex.value, // 地图显示的缩放级别
|
||
center: [amapLon.value, amapLat.value],
|
||
lang: lang.value,
|
||
features: features.value,
|
||
pitch: pitch.value, // 地图俯仰角度,有效范围 0 度- 83 度
|
||
skyColor: skyColor.value,
|
||
viewMode: viewMode.value, // 地图模式
|
||
showLabel: showLabel.value, // 是否显示地图文字标记
|
||
willReadFrequently: true
|
||
})
|
||
dataHandle(props.chartConfig.option.dataset)
|
||
|
||
let satelliteLayer = new AMap.TileLayer.Satellite({
|
||
zIndex: satelliteTileLayer.value.zIndex,
|
||
opacity: satelliteTileLayer.value.opacity,
|
||
zooms: satelliteTileLayer.value.zooms
|
||
})
|
||
let roadNetLayer = new AMap.TileLayer.RoadNet({
|
||
zIndex: roadNetTileLayer.value.zIndex,
|
||
opacity: roadNetTileLayer.value.opacity,
|
||
zooms: roadNetTileLayer.value.zooms
|
||
})
|
||
let trafficLayer = new AMap.TileLayer.Traffic({
|
||
zIndex: trafficTileLayer.value.zIndex,
|
||
opacity: trafficTileLayer.value.opacity,
|
||
zooms: trafficTileLayer.value.zooms
|
||
})
|
||
mapIns.remove([satelliteLayer, roadNetLayer, trafficLayer])
|
||
if (satelliteTileLayer.value.show) {
|
||
mapIns.add([satelliteLayer])
|
||
}
|
||
if (roadNetTileLayer.value.show) {
|
||
mapIns.add([roadNetLayer])
|
||
}
|
||
if (trafficTileLayer.value.show) {
|
||
mapIns.add([trafficLayer])
|
||
}
|
||
|
||
mapIns.setMapStyle(
|
||
`amap://styles/${amapStyleKeyCustom.value !== '' ? amapStyleKeyCustom.value : amapStyleKey.value}`
|
||
)
|
||
})
|
||
.catch(e => {})
|
||
}
|
||
|
||
const dataHandle = (newData: any) => {
|
||
if (!mapIns && !AMapIns) {
|
||
// initMap(props.chartConfig.option)
|
||
return
|
||
}
|
||
if (isArray(newData.markers)) {
|
||
// 先清除旧标记
|
||
mapIns.remove(markers)
|
||
markers = []
|
||
// 记录新标记
|
||
if (mapMarkerType.value === MarkerEnum.MARKER) {
|
||
newData.markers.forEach((markerItem: any) => {
|
||
const markerInstance = new AMapIns.Marker({
|
||
position: [markerItem.position[0], markerItem.position[1]],
|
||
offset: new AMapIns.Pixel(-13, -30)
|
||
})
|
||
markers.push(markerInstance)
|
||
markerInstance.setMap(mapIns)
|
||
})
|
||
} else if (mapMarkerType.value === MarkerEnum.CIRCLE_MARKER) {
|
||
newData.markers.forEach((markerItem: any) => {
|
||
const markerInstance = new AMapIns.CircleMarker({
|
||
center: [markerItem.position[0], markerItem.position[1]],
|
||
radius: markerItem.value,
|
||
...marker.value
|
||
})
|
||
markers.push(markerInstance)
|
||
markerInstance.setMap(mapIns)
|
||
})
|
||
}
|
||
}
|
||
}
|
||
|
||
const stopWatch = watch(
|
||
() => props.chartConfig.option.mapOptions,
|
||
async option => {
|
||
let options = JSON.parse(JSON.stringify(props.chartConfig.option.mapOptions))
|
||
|
||
await nextTick();
|
||
|
||
|
||
// options = {
|
||
// "scene": {
|
||
// "center": {
|
||
// "lat": 30.526361,
|
||
// "lng": 116.335987,
|
||
// "alt": 45187,
|
||
// "heading": 0,
|
||
// "pitch": -45
|
||
// },
|
||
// "scene3DOnly": false,
|
||
// "shadows": false,
|
||
// "removeDblClick": true,
|
||
// "sceneMode": 3,
|
||
// "showSun": true,
|
||
// "showMoon": true,
|
||
// "showSkyBox": true,
|
||
// "showSkyAtmosphere": true,
|
||
// "fog": true,
|
||
// "fxaa": true,
|
||
// "orderIndependentTranslucency": true,
|
||
// "requestRenderMode": false,
|
||
// "contextOptions": {
|
||
// "requestWebgl1": false
|
||
// },
|
||
// "globe": {
|
||
// "depthTestAgainstTerrain": false,
|
||
// "baseColor": "#546a53",
|
||
// "showGroundAtmosphere": true,
|
||
// "enableLighting": false
|
||
// },
|
||
// "cameraController": {
|
||
// "zoomFactor": 3,
|
||
// "minimumZoomDistance": 1,
|
||
// "maximumZoomDistance": 50000000,
|
||
// "enableRotate": true,
|
||
// "enableTranslate": true,
|
||
// "enableTilt": true,
|
||
// "enableZoom": true,
|
||
// "enableCollisionDetection": true,
|
||
// "minimumCollisionTerrainHeight": 15000
|
||
// }
|
||
// },
|
||
// "control": {
|
||
// "toolbar": {
|
||
// "position": "left-bottom"
|
||
// },
|
||
// "homeButton": {
|
||
// "icon": "https://data.mars3d.cn/img/control/homeButton.svg"
|
||
// },
|
||
// "fullscreenButton": {
|
||
// "icon": "https://data.mars3d.cn/img/control/fullscreenButton.svg"
|
||
// },
|
||
// "navigationHelpButton": {
|
||
// "icon": "https://data.mars3d.cn/img/control/navigationHelpButton.svg"
|
||
// },
|
||
// "baseLayerPicker": true,
|
||
// "sceneModePicker": true,
|
||
// "vrButton": false,
|
||
// "animation": false,
|
||
// "timeline": false,
|
||
// "infoBox": false,
|
||
// "geocoder": false,
|
||
// "selectionIndicator": false,
|
||
// "showRenderLoopErrors": true,
|
||
// "contextmenu": {
|
||
// "hasDefault": true
|
||
// },
|
||
// "mouseDownView": true,
|
||
// "zoom": {
|
||
// "insertBefore": "sceneModePicker",
|
||
// "zoomOutIcon": "https://data.mars3d.cn/img/control/zoom-out.svg",
|
||
// "zoomInIcon": "https://data.mars3d.cn/img/control/zoom-in.svg"
|
||
// },
|
||
// "compass": {
|
||
// "style": {
|
||
// "bottom": "toolbar",
|
||
// "left": "5px"
|
||
// }
|
||
// },
|
||
// "distanceLegend": {
|
||
// "style": {
|
||
// "left": "10px",
|
||
// "bottom": "2px"
|
||
// }
|
||
// },
|
||
// "locationBar": {
|
||
// "crs": "CGCS2000_GK_Zone_3",
|
||
// "crsDecimal": 0,
|
||
// "template": "<div>经度:{lng}</div> <div>纬度:{lat}</div> <div class='hide1000'>横{crsx} 纵{crsy}</div> <div>海拔:{alt}米</div> <div class='hide700'>层级:{level}</div><div>方向:{heading}°</div> <div>俯仰角:{pitch}°</div><div class='hide700'>视高:{cameraHeight}米</div><div class='hide700'>帧率:{fps} FPS</div>"
|
||
// }
|
||
// },
|
||
// "method": {
|
||
// "templateValues": {
|
||
// "mars3d_data": "//data.mars3d.cn"
|
||
// }
|
||
// },
|
||
// "terrain": {
|
||
// "url": "https://data.mars3d.cn/terrain",
|
||
// "show": true
|
||
// },
|
||
// "basemaps": [
|
||
// {
|
||
// "id": 10,
|
||
// "name": "地图底图",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "id": 2021,
|
||
// "pid": 10,
|
||
// "name": "天地图影像",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/tdt_img.png",
|
||
// "type": "group",
|
||
// "layers": [
|
||
// {
|
||
// "name": "底图",
|
||
// "type": "tdt",
|
||
// "layer": "img_d"
|
||
// },
|
||
// {
|
||
// "name": "注记",
|
||
// "type": "tdt",
|
||
// "layer": "img_z"
|
||
// }
|
||
// ],
|
||
// "show": true
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "天地图电子",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/tdt_vec.png",
|
||
// "type": "group",
|
||
// "layers": [
|
||
// {
|
||
// "name": "底图",
|
||
// "type": "tdt",
|
||
// "layer": "vec_d"
|
||
// },
|
||
// {
|
||
// "name": "注记",
|
||
// "type": "tdt",
|
||
// "layer": "vec_z"
|
||
// }
|
||
// ]
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "高德影像",
|
||
// "type": "group",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/gaode_img.png",
|
||
// "layers": [
|
||
// {
|
||
// "name": "底图",
|
||
// "type": "gaode",
|
||
// "layer": "img_d"
|
||
// },
|
||
// {
|
||
// "name": "注记",
|
||
// "type": "gaode",
|
||
// "layer": "img_z"
|
||
// }
|
||
// ]
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "高德电子",
|
||
// "type": "gaode",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/gaode_vec.png",
|
||
// "layer": "vec"
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "百度影像",
|
||
// "type": "group",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/bd-img.png",
|
||
// "layers": [
|
||
// {
|
||
// "name": "底图",
|
||
// "type": "baidu",
|
||
// "layer": "img_d"
|
||
// },
|
||
// {
|
||
// "name": "注记",
|
||
// "type": "baidu",
|
||
// "layer": "img_z"
|
||
// }
|
||
// ]
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "百度电子",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/bd-vec.png",
|
||
// "type": "baidu",
|
||
// "layer": "vec"
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "腾讯影像",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/tencent_img.png",
|
||
// "type": "group",
|
||
// "layers": [
|
||
// {
|
||
// "name": "底图",
|
||
// "type": "tencent",
|
||
// "layer": "img_d"
|
||
// },
|
||
// {
|
||
// "name": "注记",
|
||
// "type": "tencent",
|
||
// "layer": "img_z"
|
||
// }
|
||
// ]
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "腾讯电子",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/tencent_vec.png",
|
||
// "type": "tencent",
|
||
// "layer": "vec"
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "ArcGIS影像",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/esriWorldImagery.png",
|
||
// "type": "xyz",
|
||
// "url": "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}",
|
||
// "enablePickFeatures": false
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "微软影像",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/bingAerial.png",
|
||
// "type": "bing",
|
||
// "layer": "Aerial"
|
||
// },
|
||
// {
|
||
// "id": 2017,
|
||
// "pid": 10,
|
||
// "name": "蓝色底图",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/bd-c-midnight.png",
|
||
// "type": "gaode",
|
||
// "layer": "vec",
|
||
// "chinaCRS": "GCJ02",
|
||
// "invertColor": true,
|
||
// "filterColor": "#4e70a6",
|
||
// "brightness": 0.6,
|
||
// "contrast": 1.8,
|
||
// "gamma": 0.3,
|
||
// "hue": 1,
|
||
// "saturation": 0
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "黑色底图",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/bd-c-dark.png",
|
||
// "type": "gaode",
|
||
// "layer": "vec",
|
||
// "chinaCRS": "GCJ02",
|
||
// "invertColor": true,
|
||
// "filterColor": "#909090",
|
||
// "brightness": 0.6,
|
||
// "contrast": 1.8,
|
||
// "gamma": 0.3,
|
||
// "hue": 1,
|
||
// "saturation": 0
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "离线影像地图 (供参考)",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/google_img.png",
|
||
// "type": "xyz",
|
||
// "url": "{mars3d_data}/tile/img/{z}/{x}/{y}.jpg",
|
||
// "chinaCRS": "GCJ02",
|
||
// "maximumLevel": 13
|
||
// },
|
||
// {
|
||
// "pid": 10,
|
||
// "name": "单张图片 (本地离线)",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/offline.png",
|
||
// "type": "image",
|
||
// "url": "https://data.mars3d.cn/img/map/world/world.jpg"
|
||
// },
|
||
// {
|
||
// "id": 2023,
|
||
// "pid": 10,
|
||
// "name": "无底图",
|
||
// "icon": "https://data.mars3d.cn/img/thumbnail/basemap/null.png",
|
||
// "type": "grid",
|
||
// "color": "#ffffff",
|
||
// "alpha": 0.03,
|
||
// "cells": 2
|
||
// }
|
||
// ],
|
||
// "layers": [
|
||
// {
|
||
// "id": 50,
|
||
// "name": "辅助图层",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "pid": 50,
|
||
// "type": "graticule",
|
||
// "name": "经纬网"
|
||
// },
|
||
// {
|
||
// "pid": 50,
|
||
// "name": "行政区划界线",
|
||
// "type": "tdt",
|
||
// "layer": "xzqh",
|
||
// "mapSplit": false
|
||
// },
|
||
// {
|
||
// "pid": 50,
|
||
// "name": "高德实时路况",
|
||
// "type": "gaode",
|
||
// "layer": "time",
|
||
// "minimumTerrainLevel": 4,
|
||
// "minimumLevel": 4,
|
||
// "proxy": "//server.mars3d.cn/proxy/",
|
||
// "mapSplit": false
|
||
// },
|
||
// {
|
||
// "pid": 50,
|
||
// "name": "百度实时路况",
|
||
// "type": "baidu",
|
||
// "layer": "time",
|
||
// "mapSplit": false
|
||
// },
|
||
// {
|
||
// "id": 60,
|
||
// "name": "地形",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "pid": 60,
|
||
// "type": "terrain",
|
||
// "name": "Cesium地形",
|
||
// "terrainType": "ion",
|
||
// "radio": true
|
||
// },
|
||
// {
|
||
// "pid": 60,
|
||
// "type": "terrain",
|
||
// "name": "Mars3D地形",
|
||
// "terrainType": "xyz",
|
||
// "url": "{mars3d_data}/terrain",
|
||
// "radio": true
|
||
// },
|
||
// {
|
||
// "pid": 60,
|
||
// "type": "terrain",
|
||
// "name": "ArcGIS地形",
|
||
// "terrainType": "arcgis",
|
||
// "url": "https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer",
|
||
// "radio": true
|
||
// },
|
||
// {
|
||
// "pid": 60,
|
||
// "type": "terrain",
|
||
// "name": "无地形",
|
||
// "terrainType": "none",
|
||
// "radio": true
|
||
// },
|
||
// {
|
||
// "id": 40,
|
||
// "name": "栅格数据",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "id": 4020,
|
||
// "pid": 40,
|
||
// "name": "OGC WMS服务",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "pid": 4020,
|
||
// "name": "教育设施点",
|
||
// "type": "wms",
|
||
// "url": "//server.mars3d.cn/geoserver/mars/wms",
|
||
// "layers": "mars:hfjy",
|
||
// "crs": "EPSG:4326",
|
||
// "parameters": {
|
||
// "transparent": "true",
|
||
// "format": "image/png"
|
||
// },
|
||
// "popup": "名称:{项目名称}<br />类型:{设施类型}<br />面积:{用地面积}亩<br />位置:{具体位置}",
|
||
// "mapSplit": false,
|
||
// "show": false,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "pid": 4020,
|
||
// "name": "道路线",
|
||
// "type": "wms",
|
||
// "url": "//server.mars3d.cn/geoserver/mars/wms",
|
||
// "layers": "mars:hfdl",
|
||
// "crs": "EPSG:4326",
|
||
// "parameters": {
|
||
// "transparent": "true",
|
||
// "format": "image/png"
|
||
// },
|
||
// "center": {
|
||
// "lat": 31.743214,
|
||
// "lng": 117.277097,
|
||
// "alt": 47197.7,
|
||
// "heading": 0.3,
|
||
// "pitch": -78.8
|
||
// },
|
||
// "popup": "all",
|
||
// "mapSplit": false,
|
||
// "show": false,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "pid": 4020,
|
||
// "name": "建筑物面",
|
||
// "type": "wms",
|
||
// "url": "http://221.2.83.254:9007/geoserver/ksp/wms",
|
||
// "layers": "ksp:hulinyuanguanhufanwei",
|
||
// "crs": "EPSG:4326",
|
||
// "parameters": {
|
||
// "transparent": "true",
|
||
// "format": "image/png"
|
||
// },
|
||
// "highlight": {
|
||
// "showTime": 5000,
|
||
// "fill": true,
|
||
// "color": "#2deaf7",
|
||
// "opacity": 0.6,
|
||
// "outline": true,
|
||
// "outlineWidth": 3,
|
||
// "outlineColor": "#e000d9",
|
||
// "outlineOpacity": 1,
|
||
// "clampToGround": true
|
||
// },
|
||
// "center": {"lat":35.376403,"lng":117.97628,"alt":3615.8,"heading":3.1,"pitch":-26.8},
|
||
// "popup": "all",
|
||
// "show": true,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "pid": 4020,
|
||
// "name": "规划面",
|
||
// "type": "wms",
|
||
// "url": "//server.mars3d.cn/geoserver/mars/wms",
|
||
// "layers": "mars:hfgh",
|
||
// "crs": "EPSG:4326",
|
||
// "parameters": {
|
||
// "transparent": "true",
|
||
// "format": "image/png"
|
||
// },
|
||
// "center": {
|
||
// "lat": 31.743214,
|
||
// "lng": 117.277097,
|
||
// "alt": 47197.7,
|
||
// "heading": 0.3,
|
||
// "pitch": -78.8
|
||
// },
|
||
// "popup": "all",
|
||
// "show": false,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "id": 4030,
|
||
// "pid": 40,
|
||
// "name": "ArcGIS 瓦片",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "pid": 4030,
|
||
// "name": "合肥规划图",
|
||
// "type": "arcgis_cache",
|
||
// "url": "{mars3d_data}/arcgis_cache/hfgh/_alllayers/{z}/{y}/{x}.png",
|
||
// "minimumLevel": 1,
|
||
// "maximumLevel": 17,
|
||
// "minimumTerrainLevel": 1,
|
||
// "maximumTerrainLevel": 17,
|
||
// "rectangle": {
|
||
// "xmin": 116.846,
|
||
// "xmax": 117.642,
|
||
// "ymin": 31.533,
|
||
// "ymax": 32.185
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 4010,
|
||
// "pid": 40,
|
||
// "name": "ArcGIS Dynamic",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "id": 401085,
|
||
// "pid": 4010,
|
||
// "type": "arcgis",
|
||
// "name": "主要道路",
|
||
// "url": "//server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer",
|
||
// "layers": "24",
|
||
// "highlight": {
|
||
// "type": "polyline",
|
||
// "color": "#2deaf7",
|
||
// "width": 4,
|
||
// "clampToGround": true
|
||
// },
|
||
// "center": {
|
||
// "lat": 31.814176,
|
||
// "lng": 117.225362,
|
||
// "alt": 5105.3,
|
||
// "heading": 359.2,
|
||
// "pitch": -83.1
|
||
// },
|
||
// "popup": "all",
|
||
// "mapSplit": false
|
||
// },
|
||
// {
|
||
// "id": 401086,
|
||
// "pid": 4010,
|
||
// "type": "arcgis",
|
||
// "name": "建筑物",
|
||
// "url": "//server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer",
|
||
// "layers": "35,36,37,39",
|
||
// "highlight": {
|
||
// "fill": true,
|
||
// "color": "#2deaf7",
|
||
// "opacity": 0.6,
|
||
// "outline": true,
|
||
// "outlineWidth": 3,
|
||
// "outlineColor": "#e000d9",
|
||
// "outlineOpacity": 1,
|
||
// "clampToGround": true
|
||
// },
|
||
// "center": {
|
||
// "lat": 31.816951,
|
||
// "lng": 117.22898,
|
||
// "alt": 2916.7,
|
||
// "heading": 0.3,
|
||
// "pitch": -78.8
|
||
// },
|
||
// "popup": "名称:{NAME}<br />层数:{floor}"
|
||
// },
|
||
// {
|
||
// "id": 401087,
|
||
// "pid": 4010,
|
||
// "type": "arcgis",
|
||
// "name": "规划",
|
||
// "url": "//server.mars3d.cn/arcgis/rest/services/mars/guihua/MapServer",
|
||
// "highlight": {
|
||
// "showTime": 5000,
|
||
// "fill": true,
|
||
// "color": "#2deaf7",
|
||
// "opacity": 0.6,
|
||
// "outline": true,
|
||
// "outlineWidth": 3,
|
||
// "outlineColor": "#e000d9",
|
||
// "outlineOpacity": 1,
|
||
// "clampToGround": true
|
||
// },
|
||
// "center": {
|
||
// "lat": 31.816951,
|
||
// "lng": 117.22898,
|
||
// "alt": 2916.7,
|
||
// "heading": 0.3,
|
||
// "pitch": -78.8
|
||
// },
|
||
// "popup": [
|
||
// {
|
||
// "field": "用地名称",
|
||
// "name": "名称"
|
||
// },
|
||
// {
|
||
// "field": "用地编号",
|
||
// "name": "编号"
|
||
// },
|
||
// {
|
||
// "field": "规划用地",
|
||
// "name": "规划"
|
||
// },
|
||
// {
|
||
// "type": "html",
|
||
// "html": "<div style='text-align: right;color: #ff0000;padding-right: 10px;'>数据仅供参考</div>"
|
||
// }
|
||
// ],
|
||
// "popupNoTitle": true
|
||
// },
|
||
// {
|
||
// "id": 30,
|
||
// "name": "矢量数据",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "id": 3030,
|
||
// "pid": 30,
|
||
// "name": "GeoJSON数据",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "id": 303011,
|
||
// "pid": 3030,
|
||
// "type": "geojson",
|
||
// "name": "平台标绘",
|
||
// "url": "{mars3d_data}/file/geojson/mars3d-draw.json",
|
||
// "popup": "{type}{name}",
|
||
// "show": false,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "pid": 3030,
|
||
// "type": "geojson",
|
||
// "name": "用地规划",
|
||
// "url": "{mars3d_data}/file/geojson/guihua.json",
|
||
// "symbol": {
|
||
// "styleOptions": {
|
||
// "opacity": 0.6,
|
||
// "color": "#0000FF",
|
||
// "width": 3,
|
||
// "clampToGround": true
|
||
// },
|
||
// "styleField": "类型",
|
||
// "styleFieldOptions": {
|
||
// "一类居住用地": {
|
||
// "color": "#FFDF7F"
|
||
// },
|
||
// "二类居住用地": {
|
||
// "color": "#FFFF00"
|
||
// },
|
||
// "社区服务用地": {
|
||
// "color": "#FF6A38"
|
||
// },
|
||
// "幼托用地": {
|
||
// "color": "#FF6A38"
|
||
// },
|
||
// "商住混合用地": {
|
||
// "color": "#FF850A"
|
||
// },
|
||
// "行政办公用地": {
|
||
// "color": "#FF00FF"
|
||
// },
|
||
// "文化设施用地": {
|
||
// "color": "#FF00FF"
|
||
// },
|
||
// "小学用地": {
|
||
// "color": "#FF7FFF"
|
||
// },
|
||
// "初中用地": {
|
||
// "color": "#FF7FFF"
|
||
// },
|
||
// "体育场用地": {
|
||
// "color": "#00A57C"
|
||
// },
|
||
// "医院用地": {
|
||
// "color": "#A5527C"
|
||
// },
|
||
// "社会福利用地": {
|
||
// "color": "#FF7F9F"
|
||
// },
|
||
// "商业用地": {
|
||
// "color": "#FF0000"
|
||
// },
|
||
// "商务用地": {
|
||
// "color": "#7F0000"
|
||
// },
|
||
// "营业网点用地": {
|
||
// "color": "#FF7F7F"
|
||
// },
|
||
// "一类工业用地": {
|
||
// "color": "#A57C52"
|
||
// },
|
||
// "社会停车场用地": {
|
||
// "color": "#C0C0C0"
|
||
// },
|
||
// "通信用地": {
|
||
// "color": "#007CA5"
|
||
// },
|
||
// "排水用地": {
|
||
// "color": "#00BFFF"
|
||
// },
|
||
// "公园绿地": {
|
||
// "color": "#00FF00"
|
||
// },
|
||
// "防护绿地": {
|
||
// "color": "#007F00"
|
||
// },
|
||
// "河流水域": {
|
||
// "color": "#7FFFFF"
|
||
// },
|
||
// "配建停车场": {
|
||
// "color": "#ffffff"
|
||
// },
|
||
// "道路用地": {
|
||
// "color": "#ffffff"
|
||
// }
|
||
// }
|
||
// },
|
||
// "popup": "{类型}",
|
||
// "show": false,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "pid": 3030,
|
||
// "type": "geojson",
|
||
// "name": "建筑物面",
|
||
// "url": "{mars3d_data}/file/geojson/buildings-demo.json",
|
||
// "symbol": {
|
||
// "styleOptions": {
|
||
// "color": "#0d3685",
|
||
// "outlineColor": "#0d3685",
|
||
// "opacity": 0.8
|
||
// }
|
||
// },
|
||
// "buildings": {
|
||
// "cloumn": "floors",
|
||
// "height": "flo_height"
|
||
// },
|
||
// "popup": "all",
|
||
// "flyTo": true,
|
||
// "flyToOptions": {
|
||
// "minHeight": 2000
|
||
// }
|
||
// },
|
||
// {
|
||
// "pid": 3030,
|
||
// "type": "geojson",
|
||
// "name": "安徽各市",
|
||
// "url": "{mars3d_data}/file/geojson/areas/340000_full.json",
|
||
// "symbol": {
|
||
// "type": "polygon",
|
||
// "styleOptions": {
|
||
// "materialType": "PolyGradient",
|
||
// "materialOptions": {
|
||
// "color": "rgb(15,176,255)",
|
||
// "opacity": 0.7,
|
||
// "alphaPower": 1.3
|
||
// },
|
||
// "label": {
|
||
// "text": "{name}",
|
||
// "opacity": 1,
|
||
// "font_size": 25,
|
||
// "color": "#ffffff",
|
||
// "outline": true,
|
||
// "outlineColor": "#000000",
|
||
// "outlineWidth": 3,
|
||
// "scaleByDistance": true,
|
||
// "scaleByDistance_far": 2743804,
|
||
// "scaleByDistance_farValue": 0.3,
|
||
// "scaleByDistance_near": 10000,
|
||
// "scaleByDistance_nearValue": 1,
|
||
// "distanceDisplayCondition": true,
|
||
// "distanceDisplayCondition_far": 2743804,
|
||
// "distanceDisplayCondition_near": 0
|
||
// }
|
||
// }
|
||
// },
|
||
// "popup": "{name}",
|
||
// "show": false,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "pid": 3030,
|
||
// "type": "geojson",
|
||
// "name": "中国省界",
|
||
// "url": "{mars3d_data}/file/geojson/areas/100000_full.json",
|
||
// "symbol": {
|
||
// "type": "polylineP",
|
||
// "styleOptions": {
|
||
// "color": "#ffffff",
|
||
// "width": 2,
|
||
// "opacity": 0.8,
|
||
// "label": {
|
||
// "text": "{name}",
|
||
// "position": "center",
|
||
// "font_size": 30,
|
||
// "color": "#ffffff",
|
||
// "outline": true,
|
||
// "outlineColor": "#000000",
|
||
// "scaleByDistance": true,
|
||
// "scaleByDistance_far": 60000000,
|
||
// "scaleByDistance_farValue": 0.2,
|
||
// "scaleByDistance_near": 1000000,
|
||
// "scaleByDistance_nearValue": 1,
|
||
// "distanceDisplayCondition": true,
|
||
// "distanceDisplayCondition_far": 12000000,
|
||
// "distanceDisplayCondition_near": 0
|
||
// }
|
||
// }
|
||
// },
|
||
// "show": false,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "pid": 3030,
|
||
// "type": "geojson",
|
||
// "name": "西藏垭口",
|
||
// "url": "{mars3d_data}/file/geojson/xizangyakou.json",
|
||
// "symbol": {
|
||
// "styleOptions": {
|
||
// "image": "https://data.mars3d.cn/img/marker/mark-red.png",
|
||
// "scaleByDistance": true,
|
||
// "scaleByDistance_far": 5000000,
|
||
// "scaleByDistance_farValue": 0.5,
|
||
// "scaleByDistance_near": 1000,
|
||
// "scaleByDistance_nearValue": 1,
|
||
// "verticalOrigin": 1,
|
||
// "horizontalOrigin": 0,
|
||
// "clampToGround": true,
|
||
// "label": {
|
||
// "text": "{NAME}",
|
||
// "font_size": 25,
|
||
// "color": "#ffff00",
|
||
// "font_family": "微软雅黑",
|
||
// "outline": true,
|
||
// "outlineColor": "#000000",
|
||
// "pixelOffsetY": -40,
|
||
// "scaleByDistance": true,
|
||
// "scaleByDistance_far": 1000000,
|
||
// "scaleByDistance_farValue": 0.5,
|
||
// "scaleByDistance_near": 1000,
|
||
// "scaleByDistance_nearValue": 1,
|
||
// "distanceDisplayCondition": true,
|
||
// "distanceDisplayCondition_far": 1000000,
|
||
// "distanceDisplayCondition_near": 0,
|
||
// "visibleDepth": true
|
||
// }
|
||
// }
|
||
// },
|
||
// "popup": [
|
||
// {
|
||
// "field": "NAME",
|
||
// "name": "名称"
|
||
// },
|
||
// {
|
||
// "type": "details",
|
||
// "callback": "showPopupDetails",
|
||
// "field": "图片",
|
||
// "className": "mars3d-popup-btn-custom"
|
||
// }
|
||
// ],
|
||
// "show": false,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "pid": 3030,
|
||
// "type": "geojson",
|
||
// "name": "体育设施点",
|
||
// "url": "{mars3d_data}/file/geojson/hfty-point.json",
|
||
// "symbol": {
|
||
// "styleOptions": {
|
||
// "image": "https://data.mars3d.cn/img/marker/mark-red.png",
|
||
// "scale": 1,
|
||
// "scaleByDistance": true,
|
||
// "scaleByDistance_far": 20000,
|
||
// "scaleByDistance_farValue": 0.5,
|
||
// "scaleByDistance_near": 1000,
|
||
// "scaleByDistance_nearValue": 1,
|
||
// "verticalOrigin": 1,
|
||
// "horizontalOrigin": 0,
|
||
// "clampToGround": true,
|
||
// "label": {
|
||
// "text": "{项目名称}",
|
||
// "font_size": 25,
|
||
// "color": "#ffffff",
|
||
// "outline": true,
|
||
// "outlineColor": "#000000",
|
||
// "pixelOffsetY": -25,
|
||
// "scaleByDistance": true,
|
||
// "scaleByDistance_far": 80000,
|
||
// "scaleByDistance_farValue": 0.5,
|
||
// "scaleByDistance_near": 1000,
|
||
// "scaleByDistance_nearValue": 1,
|
||
// "distanceDisplayCondition": true,
|
||
// "distanceDisplayCondition_far": 80000,
|
||
// "distanceDisplayCondition_near": 0
|
||
// }
|
||
// }
|
||
// },
|
||
// "popup": [
|
||
// {
|
||
// "field": "项目名称",
|
||
// "name": "项目名称"
|
||
// },
|
||
// {
|
||
// "field": "建设性质",
|
||
// "name": "建设性质"
|
||
// },
|
||
// {
|
||
// "field": "设施级别",
|
||
// "name": "设施级别"
|
||
// },
|
||
// {
|
||
// "field": "所属区县",
|
||
// "name": "所属区县"
|
||
// },
|
||
// {
|
||
// "field": "建筑内容及",
|
||
// "name": "建筑内容"
|
||
// },
|
||
// {
|
||
// "field": "新增用地(",
|
||
// "name": "新增用地"
|
||
// },
|
||
// {
|
||
// "field": "开工",
|
||
// "name": "开工"
|
||
// },
|
||
// {
|
||
// "field": "总投资(万",
|
||
// "name": "总投资"
|
||
// },
|
||
// {
|
||
// "field": "资金来源",
|
||
// "name": "资金来源"
|
||
// },
|
||
// {
|
||
// "field": "初步选址",
|
||
// "name": "初步选址"
|
||
// },
|
||
// {
|
||
// "field": "设施类型",
|
||
// "name": "设施类型"
|
||
// },
|
||
// {
|
||
// "field": "设施等级",
|
||
// "name": "设施等级"
|
||
// },
|
||
// {
|
||
// "field": "所在区县",
|
||
// "name": "所在区县"
|
||
// },
|
||
// {
|
||
// "field": "具体位置",
|
||
// "name": "具体位置"
|
||
// },
|
||
// {
|
||
// "field": "建设内容(",
|
||
// "name": "建设内容"
|
||
// },
|
||
// {
|
||
// "field": "用地面积(",
|
||
// "name": "用地面积",
|
||
// "format": "mars3d.MeasureUtil.formatArea"
|
||
// },
|
||
// {
|
||
// "field": "设施规模(",
|
||
// "name": "设施规模"
|
||
// },
|
||
// {
|
||
// "field": "举办者类型",
|
||
// "name": "举办者类型"
|
||
// },
|
||
// {
|
||
// "field": "开工时间",
|
||
// "name": "开工时间"
|
||
// },
|
||
// {
|
||
// "field": "总投资额(",
|
||
// "name": "总投资额",
|
||
// "unit": "亿元"
|
||
// },
|
||
// {
|
||
// "field": "项目推进主",
|
||
// "name": "项目推进主体"
|
||
// },
|
||
// {
|
||
// "field": "项目进度",
|
||
// "name": "项目进度"
|
||
// },
|
||
// {
|
||
// "field": "项目来源",
|
||
// "name": "项目来源"
|
||
// },
|
||
// {
|
||
// "field": "备注",
|
||
// "name": "备注"
|
||
// }
|
||
// ],
|
||
// "show": false,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "id": 3070,
|
||
// "pid": 30,
|
||
// "name": "GeoServer WFS",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "pid": 3070,
|
||
// "type": "wfs",
|
||
// "name": "建筑物面",
|
||
// "url": "//server.mars3d.cn/geoserver/mars/ows",
|
||
// "layer": "mars:hfjzw",
|
||
// "parameters": {
|
||
// "maxFeatures": 500
|
||
// },
|
||
// "minimumLevel": 15,
|
||
// "symbol": {
|
||
// "type": "polygonP",
|
||
// "styleOptions": {
|
||
// "color": "#00469c",
|
||
// "outline": false,
|
||
// "opacity": 1
|
||
// }
|
||
// },
|
||
// "buildings": {
|
||
// "cloumn": "floor"
|
||
// },
|
||
// "center": {
|
||
// "lat": 31.818396,
|
||
// "lng": 117.229083,
|
||
// "alt": 2554.4,
|
||
// "heading": 359.2,
|
||
// "pitch": -83.1
|
||
// },
|
||
// "popup": "名称:{NAME}<br />层数:{floor}"
|
||
// },
|
||
// {
|
||
// "pid": 3070,
|
||
// "name": "教育设施点",
|
||
// "type": "wfs",
|
||
// "url": "//server.mars3d.cn/geoserver/mars/ows",
|
||
// "layer": "mars:hfjy",
|
||
// "parameters": {
|
||
// "maxFeatures": 500
|
||
// },
|
||
// "minimumLevel": 13,
|
||
// "symbol": {
|
||
// "type": "billboardP",
|
||
// "styleOptions": {
|
||
// "image": "https://data.mars3d.cn/img/marker/mark-red.png",
|
||
// "scaleByDistance": true,
|
||
// "scaleByDistance_far": 20000,
|
||
// "scaleByDistance_farValue": 0.6,
|
||
// "scaleByDistance_near": 1000,
|
||
// "scaleByDistance_nearValue": 1,
|
||
// "clampToGround": true,
|
||
// "label": {
|
||
// "text": "{项目名称}",
|
||
// "font_size": 15,
|
||
// "color": "#ffffff",
|
||
// "outline": true,
|
||
// "outlineColor": "#000000",
|
||
// "pixelOffsetY": -30,
|
||
// "distanceDisplayCondition": true,
|
||
// "distanceDisplayCondition_far": 2000,
|
||
// "distanceDisplayCondition_near": 0
|
||
// }
|
||
// }
|
||
// },
|
||
// "center": {
|
||
// "lat": 31.812256,
|
||
// "lng": 117.229873,
|
||
// "alt": 4683.91,
|
||
// "heading": 357.4,
|
||
// "pitch": -65.4
|
||
// },
|
||
// "popup": "all"
|
||
// },
|
||
// {
|
||
// "id": 3010,
|
||
// "pid": 30,
|
||
// "name": "ArcGIS WFS",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "pid": 3010,
|
||
// "type": "arcgis_wfs",
|
||
// "name": "兴趣点",
|
||
// "url": "//server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer/1",
|
||
// "where": " 1=1 ",
|
||
// "minimumLevel": 15,
|
||
// "center": {
|
||
// "lat": 31.818396,
|
||
// "lng": 117.229083,
|
||
// "alt": 2554.4,
|
||
// "heading": 359.2,
|
||
// "pitch": -83.1
|
||
// },
|
||
// "symbol": {
|
||
// "type": "billboardP",
|
||
// "styleOptions": {
|
||
// "image": "https://data.mars3d.cn/img/marker/mark-blue.png",
|
||
// "scaleByDistance": true,
|
||
// "scaleByDistance_far": 20000,
|
||
// "scaleByDistance_farValue": 0.6,
|
||
// "scaleByDistance_near": 1000,
|
||
// "scaleByDistance_nearValue": 1,
|
||
// "clampToGround": true,
|
||
// "label": {
|
||
// "text": "{NAME}",
|
||
// "font_size": 15,
|
||
// "color": "#ffffff",
|
||
// "outline": true,
|
||
// "outlineColor": "#000000",
|
||
// "pixelOffsetY": -30,
|
||
// "distanceDisplayCondition": true,
|
||
// "distanceDisplayCondition_far": 3000,
|
||
// "distanceDisplayCondition_near": 0
|
||
// }
|
||
// },
|
||
// "styleField": "address",
|
||
// "styleFieldOptions": {
|
||
// "AB03": {
|
||
// "image": "https://data.mars3d.cn/img/marker/mark-red.png"
|
||
// },
|
||
// "A980": {
|
||
// "image": "https://data.mars3d.cn/img/marker/mark-blue.png"
|
||
// },
|
||
// "A900": {
|
||
// "image": "https://data.mars3d.cn/img/marker/mark-green.png"
|
||
// }
|
||
// }
|
||
// },
|
||
// "popup": "名称:{NAME}<br />地址:{address}",
|
||
// "show": false
|
||
// },
|
||
// {
|
||
// "pid": 3010,
|
||
// "type": "arcgis_wfs",
|
||
// "name": "道路",
|
||
// "url": "//server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer/28",
|
||
// "minimumLevel": 14,
|
||
// "symbol": {
|
||
// "type": "polylineP",
|
||
// "styleOptions": {
|
||
// "color": "#3388ff",
|
||
// "width": 3,
|
||
// "clampToGround": true
|
||
// },
|
||
// "styleField": "NAME",
|
||
// "styleFieldOptions": {
|
||
// "祁门路": {
|
||
// "color": "#8744c0",
|
||
// "width": 3
|
||
// },
|
||
// "东流路": {
|
||
// "color": "#f7ba2a",
|
||
// "width": 3
|
||
// },
|
||
// "翡翠路": {
|
||
// "color": "#20a0ff",
|
||
// "width": 3
|
||
// },
|
||
// "岳西路": {
|
||
// "color": "#50bfff",
|
||
// "width": 3
|
||
// }
|
||
// }
|
||
// },
|
||
// "popup": "名称:{NAME}",
|
||
// "center": {
|
||
// "lat": 31.814176,
|
||
// "lng": 117.225362,
|
||
// "alt": 5105.3,
|
||
// "heading": 359.2,
|
||
// "pitch": -83.1
|
||
// }
|
||
// },
|
||
// {
|
||
// "pid": 3010,
|
||
// "type": "arcgis_wfs",
|
||
// "name": "建筑物面",
|
||
// "url": "//server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer/37",
|
||
// "minimumLevel": 15,
|
||
// "symbol": {
|
||
// "styleOptions": {
|
||
// "color": "#0d3685",
|
||
// "outlineColor": "#0d3685",
|
||
// "opacity": 0.8
|
||
// }
|
||
// },
|
||
// "buildings": {
|
||
// "cloumn": "floor"
|
||
// },
|
||
// "debuggerTileInfo": false,
|
||
// "center": {
|
||
// "lat": 31.816951,
|
||
// "lng": 117.22898,
|
||
// "alt": 1916.7,
|
||
// "heading": 0.3,
|
||
// "pitch": -78.8
|
||
// },
|
||
// "popup": "名称:{NAME}<br />层数:{floor}"
|
||
// },
|
||
// {
|
||
// "id": 3060,
|
||
// "pid": 30,
|
||
// "name": "CZML数据",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "id": 306010,
|
||
// "pid": 3060,
|
||
// "type": "czml",
|
||
// "name": "汽车",
|
||
// "url": "{mars3d_data}/file/czml/car.czml",
|
||
// "center": {
|
||
// "lat": 40.894745,
|
||
// "lng": 121.920252,
|
||
// "alt": 904,
|
||
// "heading": 64,
|
||
// "pitch": -67
|
||
// },
|
||
// "radio": true,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "id": 306011,
|
||
// "pid": 3060,
|
||
// "type": "czml",
|
||
// "name": "卫星轨道",
|
||
// "url": "{mars3d_data}/file/czml/satellite-simple.czml",
|
||
// "popup": "all",
|
||
// "radio": true,
|
||
// "flyTo": true
|
||
// },
|
||
// {
|
||
// "id": 3050,
|
||
// "pid": 30,
|
||
// "name": "KML数据",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "pid": 3050,
|
||
// "type": "kml",
|
||
// "name": "海上安全警告",
|
||
// "url": "{mars3d_data}/file/kml/NAVWARN.kmz",
|
||
// "popup": "all"
|
||
// },
|
||
// {
|
||
// "pid": 3050,
|
||
// "type": "kml",
|
||
// "name": "国境线",
|
||
// "url": "{mars3d_data}/file/kml/countryboundary.kml",
|
||
// "symbol": {
|
||
// "styleOptions": {
|
||
// "color": "#FED976",
|
||
// "width": 2
|
||
// }
|
||
// }
|
||
// },
|
||
// {
|
||
// "pid": 3050,
|
||
// "type": "kml",
|
||
// "name": "省界线",
|
||
// "url": "{mars3d_data}/file/kml/province.kml",
|
||
// "symbol": {
|
||
// "styleOptions": {
|
||
// "color": "#00FF00",
|
||
// "width": 2
|
||
// }
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 20,
|
||
// "name": "三维模型",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "id": 2010,
|
||
// "pid": 20,
|
||
// "name": "gltf模型",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "pid": 2010,
|
||
// "type": "graphic",
|
||
// "name": "风力发电机",
|
||
// "data": [
|
||
// {
|
||
// "type": "modelP",
|
||
// "position": [
|
||
// 117.219071,
|
||
// 31.828783,
|
||
// 39.87
|
||
// ],
|
||
// "style": {
|
||
// "url": "https://data.mars3d.cn/gltf/mars/fengche.gltf",
|
||
// "scale": 50,
|
||
// "heading": -93
|
||
// }
|
||
// }
|
||
// ],
|
||
// "popup": "示例信息,这是一个风力发电机",
|
||
// "center": {
|
||
// "lat": 31.821083,
|
||
// "lng": 117.21832,
|
||
// "alt": 832.64,
|
||
// "heading": 2.3,
|
||
// "pitch": -39.2
|
||
// }
|
||
// },
|
||
// {
|
||
// "pid": 2010,
|
||
// "type": "graphic",
|
||
// "name": "警车",
|
||
// "data": [
|
||
// {
|
||
// "type": "modelP",
|
||
// "position": [
|
||
// 117.217458,
|
||
// 31.815349,
|
||
// 35.03
|
||
// ],
|
||
// "style": {
|
||
// "url": "https://data.mars3d.cn/gltf/mars/jingche/jingche.gltf",
|
||
// "scale": 2,
|
||
// "heading": -95,
|
||
// "clampToGround": true
|
||
// }
|
||
// }
|
||
// ],
|
||
// "center": {
|
||
// "lat": 31.815363,
|
||
// "lng": 117.215958,
|
||
// "alt": 107.35,
|
||
// "heading": 90.7,
|
||
// "pitch": -26.1
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 2040,
|
||
// "pid": 20,
|
||
// "name": "城市白模",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "id": 204011,
|
||
// "pid": 2040,
|
||
// "type": "tileset",
|
||
// "name": "合肥市区",
|
||
// "url": "{mars3d_data}/3dtiles/jzw-hefei/tileset.json",
|
||
// "maximumScreenSpaceError": 1,
|
||
// "maxMemory": 1024,
|
||
// "style": {
|
||
// "color": {
|
||
// "conditions": [
|
||
// [
|
||
// "true",
|
||
// "color('rgba(42, 160, 224, 1)')"
|
||
// ]
|
||
// ]
|
||
// }
|
||
// },
|
||
// "marsJzwStyle": true,
|
||
// "highlight": {
|
||
// "type": "click",
|
||
// "color": "#FFFF00"
|
||
// },
|
||
// "popup": [
|
||
// {
|
||
// "field": "objectid",
|
||
// "name": "编号"
|
||
// },
|
||
// {
|
||
// "field": "name",
|
||
// "name": "名称"
|
||
// },
|
||
// {
|
||
// "field": "height",
|
||
// "name": "楼高",
|
||
// "unit": "米"
|
||
// }
|
||
// ],
|
||
// "center": {
|
||
// "lat": 31.786281,
|
||
// "lng": 117.223716,
|
||
// "alt": 3718,
|
||
// "heading": 2,
|
||
// "pitch": -45
|
||
// }
|
||
// },
|
||
// {
|
||
// "pid": 2040,
|
||
// "type": "tileset",
|
||
// "name": "合肥市区-带贴图",
|
||
// "url": "{mars3d_data}/3dtiles/jzw-hefei-cz/tileset.json",
|
||
// "maximumScreenSpaceError": 1,
|
||
// "maxMemory": 1024,
|
||
// "marsJzwStyle": true,
|
||
// "highlight": {
|
||
// "type": "click",
|
||
// "color": "#FFFF00"
|
||
// },
|
||
// "popup": [
|
||
// {
|
||
// "field": "objectid",
|
||
// "name": "编号"
|
||
// },
|
||
// {
|
||
// "field": "remark",
|
||
// "name": "名称"
|
||
// },
|
||
// {
|
||
// "field": "height",
|
||
// "name": "楼高",
|
||
// "unit": "米"
|
||
// }
|
||
// ],
|
||
// "center": {
|
||
// "lat": 31.786281,
|
||
// "lng": 117.223716,
|
||
// "alt": 3718,
|
||
// "heading": 2,
|
||
// "pitch": -45
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 204012,
|
||
// "pid": 2040,
|
||
// "type": "tileset",
|
||
// "name": "上海市区",
|
||
// "url": "{mars3d_data}/3dtiles/jzw-shanghai/tileset.json",
|
||
// "maximumScreenSpaceError": 4,
|
||
// "maxMemory": 2048,
|
||
// "style": {
|
||
// "color": {
|
||
// "conditions": [
|
||
// [
|
||
// "${floor} >= 200",
|
||
// "rgba(45, 0, 75, 0.5)"
|
||
// ],
|
||
// [
|
||
// "${floor} >= 100",
|
||
// "rgb(170, 162, 204)"
|
||
// ],
|
||
// [
|
||
// "${floor} >= 50",
|
||
// "rgb(224, 226, 238)"
|
||
// ],
|
||
// [
|
||
// "${floor} >= 25",
|
||
// "rgb(252, 230, 200)"
|
||
// ],
|
||
// [
|
||
// "${floor} >= 10",
|
||
// "rgb(248, 176, 87)"
|
||
// ],
|
||
// [
|
||
// "${floor} >= 5",
|
||
// "rgb(198, 106, 11)"
|
||
// ],
|
||
// [
|
||
// "true",
|
||
// "rgb(127, 59, 8)"
|
||
// ]
|
||
// ]
|
||
// }
|
||
// },
|
||
// "highlight": {
|
||
// "type": "click",
|
||
// "color": "#FFFF00"
|
||
// },
|
||
// "popup": [
|
||
// {
|
||
// "field": "name",
|
||
// "name": "名称"
|
||
// },
|
||
// {
|
||
// "field": "floor",
|
||
// "name": "楼层"
|
||
// }
|
||
// ],
|
||
// "center": {
|
||
// "lat": 31.257341,
|
||
// "lng": 121.466139,
|
||
// "alt": 2170.8,
|
||
// "heading": 122.2,
|
||
// "pitch": -31.8
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 2050,
|
||
// "pid": 20,
|
||
// "name": "点云",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "id": 202016,
|
||
// "pid": 2050,
|
||
// "type": "tileset",
|
||
// "name": "高压线塔杆",
|
||
// "url": "{mars3d_data}/3dtiles/pnts-ganta/tileset.json",
|
||
// "maximumScreenSpaceError": 1,
|
||
// "position": {
|
||
// "alt": 31
|
||
// },
|
||
// "style": {
|
||
// "color": {
|
||
// "conditions": [
|
||
// [
|
||
// "(${Classification} >= 4) && (${Classification} < 5) ",
|
||
// "color('#DC143C')"
|
||
// ],
|
||
// [
|
||
// "(${Classification} >= 7) && (${Classification} < 8) ",
|
||
// "color('#7B68EE')"
|
||
// ],
|
||
// [
|
||
// "(${Classification} >= 16) && (${Classification} < 17) ",
|
||
// "color('#00CED1')"
|
||
// ],
|
||
// [
|
||
// "(${Classification} >= 17) && (${Classification} < 18) ",
|
||
// "color('#3CB371')"
|
||
// ],
|
||
// [
|
||
// "(${Classification} >= 18) && (${Classification} < 19) ",
|
||
// "color('#FFFF00')"
|
||
// ],
|
||
// [
|
||
// "(${Classification} >= 19) && (${Classification} < 20) ",
|
||
// "color('#FFA500')"
|
||
// ],
|
||
// [
|
||
// "(${Classification} >= 20) && (${Classification} < 21) ",
|
||
// "color('#FF6347')"
|
||
// ]
|
||
// ]
|
||
// }
|
||
// },
|
||
// "hasOpacity": false,
|
||
// "center": {
|
||
// "lat": 31.504746,
|
||
// "lng": 118.264278,
|
||
// "alt": 580,
|
||
// "heading": 29,
|
||
// "pitch": -49
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 2060,
|
||
// "pid": 20,
|
||
// "name": "BIM模型",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "id": 20601121,
|
||
// "pid": 2060,
|
||
// "type": "tileset",
|
||
// "name": "大学教学楼",
|
||
// "url": "{mars3d_data}/3dtiles/bim-daxue/tileset.json",
|
||
// "position": {
|
||
// "lng": 117.251229,
|
||
// "lat": 31.844015,
|
||
// "alt": 31.2
|
||
// },
|
||
// "highlight": {
|
||
// "type": "click",
|
||
// "color": "#FFFF00"
|
||
// },
|
||
// "popup": "all",
|
||
// "scenetree": "scenetree.json",
|
||
// "center": {
|
||
// "lat": 31.842516,
|
||
// "lng": 117.25107,
|
||
// "alt": 145,
|
||
// "heading": 8,
|
||
// "pitch": -39
|
||
// }
|
||
// },
|
||
// {
|
||
// "pid": 2060,
|
||
// "type": "tileset",
|
||
// "name": "轻轨地铁站",
|
||
// "url": "{mars3d_data}/3dtiles/bim-ditiezhan/tileset.json",
|
||
// "position": {
|
||
// "lng": 117.203994,
|
||
// "lat": 31.857999,
|
||
// "alt": 28.9
|
||
// },
|
||
// "rotation": {
|
||
// "z": 168.1
|
||
// },
|
||
// "maxMemory": 2048,
|
||
// "highlight": {
|
||
// "type": "click",
|
||
// "color": "#00FF00"
|
||
// },
|
||
// "popup": "all",
|
||
// "scenetree": "scenetree.json",
|
||
// "center": {
|
||
// "lat": 31.856125,
|
||
// "lng": 117.204513,
|
||
// "alt": 155,
|
||
// "heading": 350,
|
||
// "pitch": -31
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 206012,
|
||
// "pid": 2060,
|
||
// "type": "tileset",
|
||
// "name": "桥梁",
|
||
// "url": "{mars3d_data}/3dtiles/bim-qiaoliang/tileset.json",
|
||
// "position": {
|
||
// "lng": 117.096906,
|
||
// "lat": 31.851564,
|
||
// "alt": 45
|
||
// },
|
||
// "rotation": {
|
||
// "z": 17.5
|
||
// },
|
||
// "maximumScreenSpaceError": 16,
|
||
// "skipLevelOfDetail": true,
|
||
// "loadSiblings": true,
|
||
// "cullRequestsWhileMoving": true,
|
||
// "cullRequestsWhileMovingMultiplier": 10,
|
||
// "preferLeaves": true,
|
||
// "progressiveResolutionHeightFraction": 0.5,
|
||
// "dynamicScreenSpaceError": true,
|
||
// "preloadWhenHidden": true,
|
||
// "center": {
|
||
// "lat": 31.849357,
|
||
// "lng": 117.099194,
|
||
// "alt": 306.2,
|
||
// "heading": 327.1,
|
||
// "pitch": -30.9
|
||
// },
|
||
// "scenetree": "scenetree.json",
|
||
// "highlight": {
|
||
// "type": "click",
|
||
// "color": "#00FF00"
|
||
// },
|
||
// "popup": "all"
|
||
// },
|
||
// {
|
||
// "id": 2020,
|
||
// "pid": 20,
|
||
// "name": "人工建模",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "id": 202013,
|
||
// "pid": 2020,
|
||
// "type": "tileset",
|
||
// "name": "地下管网",
|
||
// "url": "{mars3d_data}/3dtiles/max-piping/tileset.json",
|
||
// "position": {
|
||
// "lng": 117.215457,
|
||
// "lat": 31.843363,
|
||
// "alt": -3.6
|
||
// },
|
||
// "rotation": {
|
||
// "z": 336.7
|
||
// },
|
||
// "maximumScreenSpaceError": 2,
|
||
// "highlight": {
|
||
// "type": "click",
|
||
// "color": "#00FF00"
|
||
// },
|
||
// "popup": "all",
|
||
// "center": {
|
||
// "lat": 31.838821,
|
||
// "lng": 117.216402,
|
||
// "alt": 461,
|
||
// "heading": 0,
|
||
// "pitch": -46
|
||
// },
|
||
// "msg": "演示数据,地下数据拖动时会在地面漂移"
|
||
// },
|
||
// {
|
||
// "id": 202012,
|
||
// "pid": 2020,
|
||
// "type": "tileset",
|
||
// "name": "石化工厂",
|
||
// "url": "{mars3d_data}/3dtiles/max-shihua/tileset.json",
|
||
// "position": {
|
||
// "lng": 117.077158,
|
||
// "lat": 31.659116,
|
||
// "alt": -2
|
||
// },
|
||
// "maximumScreenSpaceError": 1,
|
||
// "maxMemory": 2048,
|
||
// "highlight": {
|
||
// "type": "click",
|
||
// "color": "#00FF00"
|
||
// },
|
||
// "popup": "all",
|
||
// "scenetree": "scenetree.json",
|
||
// "center": {
|
||
// "lat": 31.654916,
|
||
// "lng": 117.08278,
|
||
// "alt": 279,
|
||
// "heading": 316,
|
||
// "pitch": -29
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 202030,
|
||
// "pid": 2020,
|
||
// "name": "水利闸门",
|
||
// "type": "group",
|
||
// "open": false,
|
||
// "center": {
|
||
// "lat": 29.794301,
|
||
// "lng": 121.47998,
|
||
// "alt": 262,
|
||
// "heading": 191,
|
||
// "pitch": -35
|
||
// }
|
||
// },
|
||
// {
|
||
// "pid": 202030,
|
||
// "name": "闸门",
|
||
// "type": "graphic",
|
||
// "data": [
|
||
// {
|
||
// "type": "modelP",
|
||
// "position": [
|
||
// 121.479813,
|
||
// 29.791278,
|
||
// 16
|
||
// ],
|
||
// "style": {
|
||
// "url": "https://data.mars3d.cn/gltf/mars/zhamen.glb",
|
||
// "heading": 105
|
||
// }
|
||
// }
|
||
// ],
|
||
// "center": {
|
||
// "lat": 29.791607,
|
||
// "lng": 121.479925,
|
||
// "alt": 27,
|
||
// "heading": 198,
|
||
// "pitch": -18
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 202011,
|
||
// "pid": 202030,
|
||
// "type": "tileset",
|
||
// "name": "整体",
|
||
// "url": "{mars3d_data}/3dtiles/max-fsdzm/tileset.json",
|
||
// "position": {
|
||
// "alt": 15.2
|
||
// },
|
||
// "maximumScreenSpaceError": 1,
|
||
// "center": {
|
||
// "lat": 29.792675,
|
||
// "lng": 121.480207,
|
||
// "alt": 190.8,
|
||
// "heading": 196.1,
|
||
// "pitch": -49
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 2030,
|
||
// "pid": 20,
|
||
// "name": "倾斜摄影",
|
||
// "type": "group"
|
||
// },
|
||
// {
|
||
// "pid": 2030,
|
||
// "type": "tileset",
|
||
// "name": "大雁塔",
|
||
// "url": "{mars3d_data}/3dtiles/qx-dyt/tileset.json",
|
||
// "position": {
|
||
// "alt": -27
|
||
// },
|
||
// "maximumScreenSpaceError": 1,
|
||
// "center": {
|
||
// "lat": 34.215516,
|
||
// "lng": 108.960251,
|
||
// "alt": 834,
|
||
// "heading": 4,
|
||
// "pitch": -48
|
||
// },
|
||
// "flat": {
|
||
// "enabled": true,
|
||
// "editHeight": -24
|
||
// },
|
||
// "flyTo": false,
|
||
// "show": false
|
||
// },
|
||
// {
|
||
// "pid": 2030,
|
||
// "name": "校园(含单体)",
|
||
// "type": "group",
|
||
// "hasOpacity": true,
|
||
// "center": {
|
||
// "lat": 43.821193,
|
||
// "lng": 125.143124,
|
||
// "alt": 990,
|
||
// "heading": 342,
|
||
// "pitch": -50
|
||
// },
|
||
// "layers": [
|
||
// {
|
||
// "type": "geojson",
|
||
// "name": "校园-单体化",
|
||
// "url": "{mars3d_data}/file/geojson/dth-xuexiao-fd.json",
|
||
// "symbol": {
|
||
// "type": "polygonP",
|
||
// "styleOptions": {
|
||
// "color": "rgba(255, 255, 255, 0.01)",
|
||
// "clampToGround": true,
|
||
// "classification": true,
|
||
// "buffer": 1,
|
||
// "highlight": {
|
||
// "type": "click",
|
||
// "color": "rgba(255,255,0,0.4)"
|
||
// }
|
||
// }
|
||
// },
|
||
// "popup": [
|
||
// {
|
||
// "field": "name",
|
||
// "name": "学校场所"
|
||
// },
|
||
// {
|
||
// "field": "sfkf",
|
||
// "name": "是否开放"
|
||
// },
|
||
// {
|
||
// "field": "remark",
|
||
// "name": "备注信息"
|
||
// }
|
||
// ]
|
||
// },
|
||
// {
|
||
// "pid": 2030,
|
||
// "type": "tileset",
|
||
// "name": "校园",
|
||
// "url": "{mars3d_data}/3dtiles/qx-xuexiao/tileset.json",
|
||
// "position": {
|
||
// "alt": 279
|
||
// },
|
||
// "maximumScreenSpaceError": 1
|
||
// }
|
||
// ]
|
||
// },
|
||
// {
|
||
// "id": 203014,
|
||
// "pid": 2030,
|
||
// "type": "tileset",
|
||
// "name": "县城社区",
|
||
// "url": "{mars3d_data}/3dtiles/qx-shequ/tileset.json",
|
||
// "position": {
|
||
// "alt": 148.2
|
||
// },
|
||
// "maximumScreenSpaceError": 2,
|
||
// "dynamicScreenSpaceError": true,
|
||
// "cullWithChildrenBounds": false,
|
||
// "center": {
|
||
// "lat": 28.440864,
|
||
// "lng": 119.486477,
|
||
// "alt": 588.23,
|
||
// "heading": 268.6,
|
||
// "pitch": -37.8
|
||
// },
|
||
// "show": false,
|
||
// "flyTo": false
|
||
// },
|
||
// {
|
||
// "id": 203015,
|
||
// "pid": 2030,
|
||
// "name": "合肥天鹅湖",
|
||
// "type": "tileset",
|
||
// "url": "{mars3d_data}/3dtiles/qx-teh/tileset.json",
|
||
// "position": {
|
||
// "lng": 117.218434,
|
||
// "lat": 31.81807,
|
||
// "alt": 163
|
||
// },
|
||
// "maximumScreenSpaceError": 16,
|
||
// "maxMemory": 2048,
|
||
// "dynamicScreenSpaceError": true,
|
||
// "cullWithChildrenBounds": false,
|
||
// "skipLevelOfDetail": true,
|
||
// "preferLeaves": true,
|
||
// "center": {
|
||
// "lat": 31.795308,
|
||
// "lng": 117.21948,
|
||
// "alt": 1820,
|
||
// "heading": 0,
|
||
// "pitch": -39
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 203013,
|
||
// "pid": 2030,
|
||
// "type": "geojson",
|
||
// "name": "文庙-单体化",
|
||
// "url": " {mars3d_data}/file/geojson/dth-wm.json",
|
||
// "symbol": {
|
||
// "type": "polygonP",
|
||
// "styleOptions": {
|
||
// "color": "rgba(255, 255, 255, 0.01)",
|
||
// "clampToGround": true,
|
||
// "classification": true,
|
||
// "buffer": 1,
|
||
// "highlight": {
|
||
// "color": "rgba(255,255,0,0.4)"
|
||
// }
|
||
// }
|
||
// },
|
||
// "popup": [
|
||
// {
|
||
// "field": "name",
|
||
// "name": "房屋名称"
|
||
// },
|
||
// {
|
||
// "field": "jznf",
|
||
// "name": "建造年份"
|
||
// },
|
||
// {
|
||
// "field": "ssdw",
|
||
// "name": "所属单位"
|
||
// },
|
||
// {
|
||
// "field": "remark",
|
||
// "name": "备注信息"
|
||
// }
|
||
// ]
|
||
// },
|
||
// {
|
||
// "id": 203012,
|
||
// "pid": 2030,
|
||
// "type": "tileset",
|
||
// "name": "文庙",
|
||
// "url": "{mars3d_data}/3dtiles/qx-simiao/tileset.json",
|
||
// "position": {
|
||
// "alt": 38.8
|
||
// },
|
||
// "maximumScreenSpaceError": 2,
|
||
// "dynamicScreenSpaceError": true,
|
||
// "cullWithChildrenBounds": false,
|
||
// "skipLevelOfDetail": true,
|
||
// "preferLeaves": true,
|
||
// "center": {
|
||
// "lat": 33.589536,
|
||
// "lng": 119.032216,
|
||
// "alt": 145.08,
|
||
// "heading": 3.1,
|
||
// "pitch": -22.9
|
||
// }
|
||
// },
|
||
// {
|
||
// "id": 99,
|
||
// "name": "数据图层",
|
||
// "type": "group"
|
||
// }
|
||
// ]
|
||
// }
|
||
console.log("options",options);
|
||
initMap(options);
|
||
|
||
},
|
||
{
|
||
immediate: true,
|
||
deep: true
|
||
}
|
||
)
|
||
|
||
|
||
|
||
|
||
watch(
|
||
() => props.chartConfig.option.dataset,
|
||
newData => {
|
||
try {
|
||
dataHandle(newData)
|
||
} catch (error) {
|
||
console.log(error)
|
||
}
|
||
},
|
||
{
|
||
deep: false
|
||
}
|
||
)
|
||
|
||
const handlerLoadEntity = (positioin,attribute,icon,)=>{
|
||
|
||
}
|
||
|
||
// 预览
|
||
useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => {
|
||
stopWatch()
|
||
dataHandle(newData)
|
||
})
|
||
|
||
|
||
// 方法函数封装
|
||
|
||
let graphicLayer = null;
|
||
let drawGraphicLayer = null;
|
||
let measureTool = null;
|
||
// 地球创建完成后默认加载矢量数据图层
|
||
const handlerInitEntityLayer = () => {
|
||
if(graphicLayer == null){
|
||
|
||
graphicLayer = new mars3d.layer.GraphicLayer({ id: 999 });
|
||
|
||
window.graphicLayer = graphicLayer;
|
||
|
||
window.globalMap.addLayer(graphicLayer);
|
||
|
||
// let data = {
|
||
// id:99999,
|
||
// position:{
|
||
// lat:35.451451,
|
||
// lng:117.984257,
|
||
// },
|
||
// image:{
|
||
// generalIcon:"http://221.2.83.254:9012/styleImages/image/1777249374668402688.png",
|
||
// activeIcon:"http://221.2.83.254:9012/styleImages/image/1777249374668402688.png",
|
||
// },
|
||
// attribute:{
|
||
// label:"测试火点",
|
||
// address:"遍历"
|
||
// }
|
||
|
||
// }
|
||
// handlerAddEntity(data);
|
||
}
|
||
}
|
||
|
||
const handlerInitDrawLayer = () => {
|
||
if(drawGraphicLayer == null){
|
||
|
||
drawGraphicLayer = new mars3d.layer.GraphicLayer({ id: 888 });
|
||
|
||
window.drawGraphicLayer = drawGraphicLayer;
|
||
|
||
window.globalMap.addLayer(drawGraphicLayer);
|
||
}
|
||
}
|
||
|
||
const handlerInitMeasureTool = () => {
|
||
measureTool = new mars3d.thing.Measure({
|
||
label: {
|
||
color: "#ffffff",
|
||
font_family: "黑体",
|
||
font_size: 18,
|
||
background: false
|
||
},
|
||
isAutoEditing: false // 绘制完成后是否自动激活编辑
|
||
// drawEndEventType: mars3d.EventType.rightClick,
|
||
// drawDelEventType: mars3d.EventType.middleClick
|
||
})
|
||
|
||
window.measureTool = measureTool;
|
||
|
||
window.globalMap.addThing(measureTool)
|
||
}
|
||
|
||
|
||
|
||
// 点击获取点击位置点位信息 用于常见的下发火点、下发任务点等使用
|
||
|
||
const handlerDrawPoint = async () => {
|
||
const graphic = await graphicLayer.startDraw({
|
||
type: "point",
|
||
})
|
||
|
||
let position = graphic.toJSON().position;
|
||
|
||
let res = {
|
||
lng:position[0],
|
||
lat:position[1],
|
||
alt:position[0]
|
||
}
|
||
|
||
graphicLayer.removeGraphic(graphic);
|
||
|
||
return res;
|
||
}
|
||
|
||
// 添加Entity
|
||
const handlerAddEntity = (data) => {
|
||
|
||
let graphicOptions = {
|
||
id:data.id,
|
||
position: [parseFloat(data.position.lng), parseFloat(data.position.lat)],
|
||
style: {
|
||
image: data.image.generalIcon,
|
||
clampToGround: true,
|
||
scale: 0.5,
|
||
label: {
|
||
text: data.attribute.label,
|
||
font_size: 14,
|
||
color: "#ffffff",
|
||
pixelOffsetY: 10,
|
||
distanceDisplayCondition: true,
|
||
distanceDisplayCondition_far: 500000,
|
||
distanceDisplayCondition_near: 0,
|
||
},
|
||
},
|
||
popup: `<div class="marsTiltPanel marsTiltPanel-theme-red" style="font-size:12px;">
|
||
<div class="marsTiltPanel-wrap">
|
||
<div class="area">
|
||
<div class="arrow-lt"></div>
|
||
<div class="b-t"></div>
|
||
<div class="b-r"></div>
|
||
<div class="b-b"></div>
|
||
<div class="b-l"></div>
|
||
<div class="arrow-rb"></div>
|
||
<div class="label-wrap">
|
||
<div class="title">火点信息</div>
|
||
<div class="label-content">
|
||
<div class="data-li">
|
||
<div class="data-label">火点地址:${data.attribute.address}</div>
|
||
</div>
|
||
<div class="data-li">
|
||
<div class="data-label">上报时间:</div>
|
||
<div class="data-value"><span id="lablYeWei" class="label-num">2025-2-11 12:00:00</span><span class="label-unit"></span>
|
||
</div>
|
||
</div>
|
||
<div class="data-li">
|
||
<div class="data-value">
|
||
<span id="lablCSFM3" onclick="aroundYuAn([${data.position.lng},${data.position.lat}])" class="label-tag data-value-status-2" >防灭火资源</span>
|
||
<span id="lablCSFM2" onclick="delFirePoint(${data.id})" class="label-tag data-value-status-3" title="删除火点">删除火点</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="b-t-l"></div>
|
||
<div class="b-b-r"></div>
|
||
</div>
|
||
<div class="arrow" ></div>
|
||
</div>`,
|
||
popupOptions: {
|
||
offsetY: -30,
|
||
template: "{content}",
|
||
horizontalOrigin: "Cesium.HorizontalOrigin.LEFT",
|
||
verticalOrigin: "Cesium.VerticalOrigin.CENTER",
|
||
},
|
||
}
|
||
|
||
let graphic = graphicLayer.getGraphicById(data.id);
|
||
|
||
if(graphic){
|
||
graphic.setStyleOptions(graphicOptions);
|
||
}else{
|
||
graphic = new mars3d.graphic.BillboardEntity(graphicOptions);
|
||
graphicLayer.addGraphic(graphic);
|
||
}
|
||
}
|
||
|
||
|
||
const handlerHiddenEntity = (data) => {
|
||
let graphic = graphicLayer.getGraphicById(data.id);
|
||
if(graphic){
|
||
graphic.show = false;
|
||
}
|
||
}
|
||
|
||
|
||
const handlerRemoveEntity = (data) => {
|
||
let graphic = graphicLayer.getGraphicById(data.id);
|
||
if(graphic){
|
||
graphicLayer.removeGraphic(graphic);
|
||
}
|
||
}
|
||
|
||
const handlerFlyToEntity = (data) => {
|
||
|
||
let graphic = graphicLayer.getGraphicById(data.id);
|
||
|
||
if(graphic){
|
||
|
||
if(data.image.activeIcon){
|
||
grasphic.setStyle({
|
||
image:data.image.activeIcon
|
||
})
|
||
}
|
||
|
||
window.globalMap.flyToGraphic(graphic);
|
||
}
|
||
|
||
|
||
}
|
||
|
||
// 清空所有适量图标
|
||
const handlerClearEntityLayer = () => {
|
||
graphicLayer.clear();
|
||
}
|
||
|
||
// 隐藏所有矢量图标
|
||
const handlerHiddenEntityLayer = ()=> {
|
||
graphicLayer.show = false;
|
||
}
|
||
|
||
// yi
|
||
|
||
|
||
</script>
|