当前位置: 首页 > 知识库问答 >
问题:

前端 - vue3+cesium 请问如何将后台返回的WGS84经纬度 在Ceium不转换直接显示出来?

解晟
2023-06-16

目前我用了Cesium.Cartesian3.fromDegrees 就会将后台返回的坐标给转换为cesium中的笛卡尔坐标系(X,Y,Z)来显示了,所以就导致地图上面显示的位置又偏差,请问大佬们,如何将返回的坐标点按照WGS84经纬度显示出来呢?

 // const positions = ref([
    //   // { longitude: 104.227155465, latitude: 30.571566765, },//中心点
    //   // { longitude: 104.22621696, latitude: 30.57299515 }, // 左上角
    //   // { longitude: 104.22809397, latitude: 30.57299515 }, // 右上角
    //   // { longitude: 104.22621696, latitude: 30.57013838 }, // 左下角 
    //   // { longitude: 104.22809397, latitude: 30.57013838 }, // 右下角
    // ])
    // viewer.value.entities.removeAll();
    // 添加点
    positions.value.forEach((position, index) => {
      let cartesian3 = Cesium.Cartesian3.fromDegrees(position.longitude, position.latitude)
      viewer.value.entities.add({
        position: cartesian3,
        point: {
          pixelSize: 10,
          color: Cesium.Color.RED,
          outlineColor: Cesium.Color.WHITE,
          outlineWidth: 1,
        },
        label: {
          // text: `点${index + 1}`,
          font: '14pt monospace',
          style: Cesium.LabelStyle.FILL_AND_OUTLINE,
          outlineWidth: 2,
          verticalOrigin: Cesium.VerticalOrigin.BOTTOM,//垂直位置
          pixelOffset: new Cesium.Cartesian2(0, -9), //偏移
        },
      });
    });

共有1个答案

房学文
2023-06-16

Cesium支持的地理坐标系WGS84和莫卡托,默认就是WGS84,不过Cesium渲染不是对地理坐标系进行渲染,所以需要将地理坐标系转换为空间坐标系,也就是Cartesian3,这个转换是不可少的,但是这个转换不会造成位置偏移,如果发生偏移那么检查下自己的代码是不是手动产生了偏移(在三维上有时候视角不同,看着位置也不同,另外是否开启深度检测,也会影响视觉上的效果)

 类似资料:
  • 异步方法向后端发送请求,得到返回值response,number和location在页面上显示不出来?不会vue

  • 请问在Vue3+Cesium上如何根据后端返回的数据,在地图上面显示图片并在图片的上方或者旁边显示后台返回的数据,类似于这样的

  • 通过后端返回的多个经纬度,进行绘制多个点以及绘制由多个点组成的轨迹线

  • 问题内容: 给定纬度和经度,我们如何使用Javascript或Python将其转换为街道地址? 问题答案: 大多数人在99%的时间内将您链接到Google Maps的API。不错的答案。但是- 注意禁止用途,使用限制和使用条款!尽管许多分布式应用程序并未违反使用限制,但对于Web应用程序而言却是相当有限的。TOS不允许您将皮肤上的数据重新用于Google应用程序中。您不希望因Google发出的终止

  • 在线编辑器,有没有能实现 scss 转换成 css 的? 我有一款自己的编辑器,支持用户编写 scss 代码,但是发现问题 浏览器不识别 scss 需要编译成 css 现在的做法是 让用户先去在线网站编译完成 再拷贝过来 有没有直接能集成在项目中的 scss2css 的这种库? 补充一下 需要运行在浏览器环境的~

  • 用的vite运行vue,后端我开了环境软件,wampserver 是不是因为后端的PHP文件没有被解析???所以返回的是php的源代码???我先用的axios请求,结果是这样,后来换了XMLHttp请求还是这样,刚学vue3,卡在这了,百度了好久没找到答案,求大佬解答