import * as mars3d from "mars3d" export let map // mars3d.Map三维地图对象 // 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并) export const mapOptions = { scene: { center: { lat: 30.820398, lng: 116.218603, alt: 6483, heading: 22, pitch: -40 } } } /** * 初始化地图业务,生命周期钩子函数(必须) * 框架在地图初始化完成后自动调用该函数 * @param {mars3d.Map} mapInstance 地图对象 * @returns {void} 无 */ export function onMounted(mapInstance) { map = mapInstance // 记录map map.fixedLight = true // 固定光照,避免gltf模型随时间存在亮度不一致。 // 创建矢量数据图层 const graphicLayer = new mars3d.layer.GraphicLayer() map.addLayer(graphicLayer) addDemoGraphic1(graphicLayer) addDemoGraphic2(graphicLayer) addDemoGraphic3(graphicLayer) } /** * 释放当前地图业务的生命周期函数 * @returns {void} 无 */ export function onUnmounted() { map = null } function addDemoGraphic1(graphicLayer) { const graphic = new mars3d.graphic.ModelEntity({ name: "飞机", position: [116.239918, 30.879709, 1208], style: { url: "//data.mars3d.cn/gltf/mars/feiji.glb", scale: 2 } }) graphicLayer.addGraphic(graphic) // 开始 自旋转效果 graphic.rotateStart({ direction: false, // 控制方向, true逆时针,false顺时针 time: 30 // time:给定飞行一周所需时间(单位 秒),控制速度 }) } function addDemoGraphic2(graphicLayer) { const graphic = new mars3d.graphic.ModelEntity({ name: "四凌锥体", position: [116.257665, 30.869372, 1500], style: { url: "//data.mars3d.cn/gltf/mars/zhui.glb", scale: 200 } }) graphicLayer.addGraphic(graphic) // 开始 自旋转效果 graphic.rotateStart({ direction: true, // 控制方向, true逆时针,false顺时针 time: 6 // time:给定飞行一周所需时间(单位 秒),控制速度 }) } function addDemoGraphic3(graphicLayer) { const graphicCar = new mars3d.graphic.ModelEntity({ name: "汽车", position: [116.210938, 30.87518, 613.1], style: { url: "//data.mars3d.cn/gltf/mars/qiche.gltf", scale: 0.5, heading: 30, minimumPixelSize: 100 } }) graphicLayer.addGraphic(graphicCar) // 移动模型 graphicCar.moveTo({ position: [116.259138, 30.855247, 562], time: 8 // 移动的时长(单位 秒) }) }