import * as mars3d from "mars3d"
|
|
export let map // mars3d.Map三维地图对象
|
let conicSensor
|
|
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
|
export const mapOptions = {
|
scene: {
|
// 此处参数会覆盖config.json中的对应配置
|
center: { lat: 25.987821, lng: 122.076928, alt: 1295307, heading: 327, pitch: -59 }
|
}
|
}
|
|
/**
|
* 初始化地图业务,生命周期钩子函数(必须)
|
* 框架在地图初始化完成后自动调用该函数
|
* @param {mars3d.Map} mapInstance 地图对象
|
* @returns {void} 无
|
*/
|
export function onMounted(mapInstance) {
|
map = mapInstance // 记录map
|
|
// 创建矢量数据图层
|
const graphicLayer = new mars3d.layer.GraphicLayer()
|
map.addLayer(graphicLayer)
|
|
// 加个模型
|
const graphic = new mars3d.graphic.ModelEntity({
|
name: "地面站模型",
|
position: [117.170264, 31.840312, 258],
|
style: {
|
url: "//data.mars3d.cn/gltf/mars/leida.glb",
|
scale: 1,
|
minimumPixelSize: 40,
|
clampToGround: true
|
}
|
})
|
graphicLayer.addGraphic(graphic)
|
|
addConicSensor(graphicLayer)
|
}
|
|
/**
|
* 释放当前地图业务的生命周期函数
|
* @returns {void} 无
|
*/
|
export function onUnmounted() {
|
map = null
|
}
|
|
// 初始化 添加一个双椎体
|
function addConicSensor(graphicLayer) {
|
conicSensor = new mars3d.graphic.ConicSensor({
|
position: [117.170264, 31.840312, 363],
|
style: {
|
angle: 25,
|
length: 300000,
|
color: "rgba(255,0,0,0.4)",
|
outlineColor: "rgba(255,255,255,0.9)"
|
}
|
})
|
graphicLayer.addGraphic(conicSensor)
|
}
|
|
// 顶部显示隐藏
|
export function sensorTop(isChecked) {
|
conicSensor.topShow = isChecked
|
}
|
|
// 地面阴影
|
export function sensorArea(val) {
|
conicSensor.shadowShow = val
|
}
|
|
// 圆锥体 显示/隐藏
|
export function sensorShowHide(isChecked) {
|
conicSensor.show = isChecked
|
}
|
|
// 半径改变
|
export function sensorRadius(val) {
|
conicSensor.length = val
|
}
|
|
// 角度(半长角)
|
export function angle(val) {
|
conicSensor.angle = val
|
}
|