【问题标题】:How to convert correct coordinates for Cesium?如何转换铯的正确坐标?
【发布时间】:2020-09-11 07:25:54
【问题描述】:

我有以下坐标:103.84958233542338,1.3669641300494784

我不知道它的坐标格式是否正确。它给了我一个开发人员错误“需要笛卡尔坐标”。我也有以下代码。

  var storecoord=[103.84958233542338,1.3669641300494784];
  var splitcoord = storecoord.split(',');
  var pos = Cesium.Cartesian3.fromDegrees(splitcoord[0],splitcoord[1]);
  var carto  = Cesium.Ellipsoid.WGS84.cartesianToCartographic(pos);
  var lon = Cesium.Math.toDegrees(carto.longitude);
  var lat = Cesium.Math.toDegrees(carto.latitude);

任何错误的想法。我想使用变量 lon & lat 来创建广告牌。

【问题讨论】:

    标签: geospatial cesium


    【解决方案1】:

    确保您以正确的顺序为 fromDegrees 指定了 lon、lat。

    另外,你不能在数组上调用.split,它已经被分割了。看起来您正在从 lon/lat 转换为 Cartesian3,然后再转换回 lon/lat,这只是为了验证往返吗?

    无论如何,这里有一个Sandcastle demo with a billboard 在您的 lon/lat 位置:

    var storecoord=[103.84958233542338,1.3669641300494784];
    
    var viewer = new Cesium.Viewer("cesiumContainer");
    
    var lon = storecoord[0];
    var lat = storecoord[1];
    
    viewer.entities.add({
      position: Cesium.Cartesian3.fromDegrees(lon, lat),
      billboard: {
        image: "../images/Cesium_Logo_overlay.png",
      },
    });
    
    viewer.zoomTo(viewer.entities);
    

    【讨论】:

      猜你喜欢
      • 2019-11-04
      • 2015-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多