import * as mars3d from "mars3d"
|
|
export let map // mars3d.Map三维地图对象
|
|
// 需要覆盖config.json中地图属性参数(当前示例框架中自动处理合并)
|
export const mapOptions = {
|
control: {
|
homeButton: true,
|
sceneModePicker: true,
|
navigationHelpButton: true,
|
infoBox: false,
|
vrButton: true,
|
fullscreenButton: true,
|
geocoder: true,
|
baseLayerPicker: true,
|
clockAnimate: true, // 时钟动画控制(左下角)
|
timeline: true, // 是否显示时间线控件
|
compass: { top: "10px", left: "5px" }
|
}
|
}
|
|
/**
|
* 初始化地图业务,生命周期钩子函数(必须)
|
* 框架在地图初始化完成后自动调用该函数
|
* @param {mars3d.Map} mapInstance 地图对象
|
* @returns {void} 无
|
*/
|
export function onMounted(mapInstance) {
|
map = mapInstance // 记录map
|
map.toolbar.style.bottom = "55px" // 修改toolbar控件的样式
|
}
|
|
/**
|
* 释放当前地图业务的生命周期函数
|
* @returns {void} 无
|
*/
|
export function onUnmounted() {
|
map = null
|
}
|
|
// 按钮
|
export function bindPOI(val) {
|
map.controls.geocoder.show = val
|
}
|
|
// 视角复位
|
export function bindView(val) {
|
map.controls.homeButton.show = val
|
}
|
|
// 基础的地图切换
|
export function bindBaseLayerPicker(val) {
|
map.controls.baseLayerPicker.show = val
|
}
|
|
// 全屏切换
|
export function bindFullScreen(val) {
|
map.controls.fullscreenButton.show = val
|
}
|
|
// VR
|
export function bindVR(val) {
|
map.controls.vrButton.show = val
|
}
|
|
// 帮助按钮
|
export function bindHelpButton(val) {
|
map.controls.navigationHelpButton.show = val
|
}
|
|
// 二三维切换
|
export function bindSceneModePicker(val) {
|
map.controls.sceneModePicker.show = val
|
}
|
|
export function bindZoom(val) {
|
map.controls.zoom.show = val
|
}
|
|
// 面板:
|
// 信息状态栏
|
export function bindLocation(val) {
|
map.controls.locationBar.show = val
|
}
|
|
// 时钟
|
export function bindClock(val) {
|
map.controls.clockAnimate.show = val
|
}
|
|
// 时间刻度线
|
export function bindTimeLine(val) {
|
if (map.controls.timeline) {
|
map.controls.timeline.show = val
|
}
|
|
map.controls.locationBar.setStyle({
|
bottom: val ? "25px" : "0px"
|
})
|
}
|
|
// 导航球
|
export function bindNav(val) {
|
map.controls.compass.show = val
|
}
|
|
// 比例尺
|
export function bindLegend(val) {
|
map.controls.distanceLegend.show = val
|
}
|