我当前正在使用Cesium版本1.52.0,并且目前无法升级。但我的目标是在地图上以rhumb
格式显示折线。在1.54.0版中,arcType: Cesium.ArcType.RHUMB
是获得大黄线的属性。
在1.52.0版中如何获得相同的结果?
var viewer = new Cesium.Viewer("cesiumContainer" );
viewer.entities.add({
polyline: {
positions: Cesium.Cartesian3.fromDegreesArrayHeights([-112.3268785,29.1673139,1000,139.1652182,9.6235915,1000,11.4423255,50.0235941,1000,-41.2873034,-5.1132736,1000]),
width: 8,
arcType: Cesium.ArcType.RHUMB,
material: new Cesium.PolylineOutlineMaterialProperty({
color: Cesium.Color.YELLOW,
outlineWidth: 4,
outlineColor: Cesium.Color.BLACK
})
}
});
html, body, #cesiumContainer {
width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden;
font-family: sans-serif;
}
<link href="http://cesiumjs.org/releases/1.54/Build/Cesium/Widgets/widgets.css"
rel="stylesheet"/>
<script src="http://cesiumjs.org/releases/1.54/Build/Cesium/Cesium.js">
</script>
<div id="cesiumContainer"></div>
答案 0 :(得分:0)
在1.52版中,可以通过Turf.js-特别是greatCircle function实现。
您只需要为折线的每个线段调用此函数-传入起点和终点坐标即可。
每个函数调用都会为您提供特定段的GeoJSON-将这个GeoJSON链接在一起(Turf为此类操作提供了更多帮助器),瞧-您现在可以通过以下方式将其上传到Cesium: Cesium.GeoJsonDataSource。