Cesium 地图初始化和经纬度显示功能实现
这段代码展示了如何使用 Cesium 库初始化地图并实现经纬度显示功能。
-
定义响应式变量: 代码首先定义了两个响应式变量
ShowLngLatRef和BaseMapConfig。ShowLngLatRef用于管理经纬度显示功能,BaseMapConfig用于存储基础地图的配置信息。 -
定义地图初始化函数: 定义了两个函数
initMap和initImageryMap,这两个函数用于初始化地图。initMap函数用于初始化普通地图,接收BaseMapConfig和MapImageryList两个参数,分别用于配置基础地图和影像列表。该函数调用GController.init函数初始化地图,并将返回的viewer对象赋值给全局变量window.Gviewer,以便在控制台中调试。然后,该函数调用ShowLngLatRef.value.initCesiumHandler函数将显示经纬度功能绑定到viewer上,最后通过context.emit发送onReadyMap事件。initImageryMap函数用于初始化影像地图,接收MapImageryList参数,用于配置影像列表。该函数与initMap函数类似,调用GController.init函数初始化地图,并将返回的viewer对象赋值给全局变量window.Gviewer。然后,该函数调用ShowLngLatRef.value.initCesiumHandler函数将显示经纬度功能绑定到viewer上,最后通过context.emit发送onReadyMap事件。
-
地图初始化逻辑: 代码在
onBeforeMount钩子函数中,异步获取基础地图的配置信息,并将配置信息赋值给BaseMapConfig变量。如果props.isImagery为false,则表示要初始化普通地图,则继续异步获取影像列表信息,并将配置信息和影像列表信息作为参数传递给initMap函数,开始地图初始化过程。如果props.isImagery为true,则表示要初始化影像地图,则直接将影像列表信息作为参数传递给initImageryMap函数,开始地图初始化过程。
总结来说,这段代码使用 GController.init 函数初始化 Cesium 地图,并根据 props.isImagery 的值选择初始化普通地图或影像地图。同时,代码还实现了将经纬度显示功能绑定到地图上,并通过事件通知外部组件地图已经初始化完成。
原文地址: https://www.cveoy.top/t/topic/nyqh 著作权归作者所有。请勿转载和采集!