我有以下坐标: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来创建广告牌。
确保您以fromDegrees
的正确顺序指定了纬度,经纬度。
而且,您不能在数组上调用.split
,它已经被拆分。看来您是从lon / lat转换为Cartesian3,然后又回到lon / lat,这只是为了验证往返行程吗?
无论如何,这是您lon / lat位置上的Sandcastle demo with a billboard:
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);