import * as mars3d from "mars3d"
export let map // mars3d.Map三维地图对象
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
export const mapOptions = function (option) {
option.control = {
locationBar: false // 当前演示的示例控件-比例尺控件
}
return option
}
/**
* 初始化地图业务,生命周期钩子函数(必须)
* 框架在地图初始化完成后自动调用该函数
* @param {mars3d.Map} mapInstance 地图对象
* @returns {void} 无
*/
export function onMounted(mapInstance) {
map = mapInstance // 记录map
// 方式2:在创建地球后按需调用addControl添加(直接new对应type类型的控件)
const locationBar = new mars3d.control.LocationBar({
fps: true,
template:
"
经度:{lng}
纬度:{lat}
海拔:{alt}米
层级:{level}
方向:{heading}度
俯仰角:{pitch}度
视高:{cameraHeight}米
"
// template: function (locationData) {
// let pitch
// if (locationData.pitch < 0) {
// pitch = '俯视:' + -locationData.pitch
// } else {
// pitch = '仰视:' + locationData.pitch
// }
// let dfmX = mars3d.Util.formatDegree(locationData.lng)
// let dfmY = mars3d.Util.formatDegree(locationData.lat)
// return ` 经度:${locationData.lat} , ${dfmX}
// 纬度:${locationData.lng} , ${dfmY}
// 海拔:${locationData.alt}米
// 方向:${locationData.heading}度
// ${pitch}度
// 视高:${locationData.cameraHeight}米
`
// },
})
map.addControl(locationBar)
}
/**
* 释放当前地图业务的生命周期函数
* @returns {void} 无
*/
export function onUnmounted() {
map = null
}