import * as mars3d from "mars3d" export let map // mars3d.Map三维地图对象 let cameraHistory export const eventTarget = new mars3d.BaseClass() // 事件对象,用于抛出事件到面板中 /** * 初始化地图业务,生命周期钩子函数(必须) * 框架在地图初始化完成后自动调用该函数 * @param {mars3d.Map} mapInstance 地图对象 * @returns {void} 无 */ export function onMounted(mapInstance) { map = mapInstance // 记录map cameraHistory = new mars3d.thing.CameraHistory({ limit: { // 限定视角范围 position: Cesium.Cartesian3.fromDegrees(117.27462, 31.864196, 34.85), radius: 5000.0, debugExtent: true }, maxCacheCount: 999 }) map.addThing(cameraHistory) cameraHistory.on(mars3d.EventType.change, function (event) { // 触发自定义事件 const count = event.count eventTarget.fire("changeCamera", { count }) }) } /** * 释放当前地图业务的生命周期函数 * @returns {void} 无 */ export function onUnmounted() { map = null } // 是否开启限定范围 export function chkUnderground(val) { cameraHistory.debugExtent = val }