这段代码展示了如何使用 Cesium 库初始化地图并实现经纬度显示功能。

  1. 定义响应式变量: 代码首先定义了两个响应式变量 ShowLngLatRefBaseMapConfigShowLngLatRef 用于管理经纬度显示功能,BaseMapConfig 用于存储基础地图的配置信息。

  2. 定义地图初始化函数: 定义了两个函数 initMapinitImageryMap,这两个函数用于初始化地图。

    • initMap 函数用于初始化普通地图,接收 BaseMapConfigMapImageryList 两个参数,分别用于配置基础地图和影像列表。该函数调用 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 事件。
  3. 地图初始化逻辑: 代码在 onBeforeMount 钩子函数中,异步获取基础地图的配置信息,并将配置信息赋值给 BaseMapConfig 变量。如果 props.isImageryfalse,则表示要初始化普通地图,则继续异步获取影像列表信息,并将配置信息和影像列表信息作为参数传递给 initMap 函数,开始地图初始化过程。如果 props.isImagerytrue,则表示要初始化影像地图,则直接将影像列表信息作为参数传递给 initImageryMap 函数,开始地图初始化过程。

总结来说,这段代码使用 GController.init 函数初始化 Cesium 地图,并根据 props.isImagery 的值选择初始化普通地图或影像地图。同时,代码还实现了将经纬度显示功能绑定到地图上,并通过事件通知外部组件地图已经初始化完成。

Cesium 地图初始化和经纬度显示功能实现

原文地址: https://www.cveoy.top/t/topic/nyqh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录