cesium map init

1 min read
Table of Contents

使用react-tsx初始化

import { useState, useMemo } from 'react'
import MapCom from '../common/MapCom'
import { Viewer } from 'cesium'

export default function App(props: { id: string }) {
  const [viewer, setViewer] = useState<Viewer>()
  const options = useMemo<ViewerOptions>(
    () => ({
      terrain: true,
      debugShowFramesPerSecond: false,
    }),
    [],
  )

  return (
    <div>
      <MapCom id={props.id} setViewer={setViewer} options={options} />
    </div>
  )
}

使用vue初始化

<template>
  <div class="load_service_container">
    <MapCom @mapInit="initMap" :options="options" />
  </div>
</template>
<script setup lang='ts'>
import * as Cesium from 'cesium'
import MapCom from '~/components/common/MapCom.vue'
import { ref } from 'vue'
let viewer: Cesium.Viewer
const options = ref({
  terrain: true,
  debugShowFramesPerSecond: false,
})
const initMap = async (viewer_: Cesium.Viewer) => {
  // const res = await fetch('https://slhyyzt.slt.zj.gov.cn/adaptor/lght/sdem')
  // const data = await res.json()
  // console.log(data)
  // Cesium.CesiumTerrainProvider.fromUrl('/wenzhou_terrain')
  viewer = viewer_
}
</script>
<style scoped></style>

后记

My avatar

感谢你读到这里。

这座小站更像一份持续维护的“终端笔记”:记录我解决问题的过程,也记录走过的弯路。

如果这篇内容对你有一点点帮助:

  • 点个赞 / 收藏一下,方便你下次回来继续翻
  • 欢迎在评论区补充你的做法(或者指出我的疏漏)
  • 想持续收到更新:可以订阅 RSS(在页面底部)

我们下篇见。


More Posts

评论

评论 (0)

请先登录后再发表评论

加载中...