我正在尝试通过一组经度/纬度坐标绘制一个具有中心点和多边形的实体。 实体及其中心点呈现,但多边形不呈现。 这是我在铯铯堡中使用的代码:
var viewer = new Cesium.Viewer('cesiumContainer');
var scene = viewer.scene;
var center_coord={
lat: 0.8516230512168864,
lon: 0.08542698522755329
};
var center_carto = new Cesium.Cartographic(center_coord.lon,center_coord.lat);
var coords=[
{ lat: 0.8371069548833031, lon: 0.05617102703540839 },
{ lat: 0.9139988407986441, lon: 0.22220955807498613 },
{ lat: 0.7433710382335508, lon: 0.21325119268411713 }
];
var polygon_cornerpoints_array=[];
var polygon_cartesian_cornerpoints_array=[];
var pointPrimitiveCollection = scene.primitives.add(new Cesium.PointPrimitiveCollection());
for ( var i in coords){
var p = coords[i];
var carto = new Cesium.Cartographic(p.lon,p.lat);
polygon_cornerpoints_array.push(carto.latitude,carto.longitude);
polygon_cartesian_cornerpoints_array.push(Cesium.Cartographic.toCartesian( carto ))
var p = pointPrimitiveCollection.add(
{
position : Cesium.Cartographic.toCartesian(carto),
color : Cesium.Color.RED,
pixelSize :10,
heightReference : Cesium.HeightReference.RELATIVE_TO_GROUND
}
);
}
var entity = new Cesium.Entity(
{
position: Cesium.Cartographic.toCartesian( center_carto ),
}
);
viewer.entities.add(entity);
entity.point= new Cesium.PointGraphics(
{
color : Cesium.Color.YELLOW,
pixelSize :15,
outlineWidth : 2,
outlineColor : Cesium.Color.BLACK,
heightReference : Cesium.HeightReference.CLAMP_TO_GROUND,
});
entity.polygon = new Cesium.PolygonGraphics({
// hierarchy : Cesium.Cartesian3.fromArray(polygon_cartesian_cornerpoints_array),
hierarchy : Cesium.Cartesian3.fromDegreesArray(polygon_cornerpoints_array),
material:Cesium.Color.GREEN
});
viewer.zoomTo(entity);
任何想法在这里发生了什么? 非常感谢。