如何为铯转换正确的坐标?

How to convert correct coordinates for Cesium?

我有以下 coordinates:103.84958233542338,1.3669641300494784

我无法判断它是否采用正确的铯坐标格式。它给我一个开发者错误 "Cartesian is required." 我也有以下代码。

  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 来创建广告牌。

确保您以正确的顺序为 fromDegrees 指定了经度、纬度。

此外,您不能在数组上调用 .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);