我目前正在使用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>
这可以通过Turf.js在1.52版本中实现 - 特别是greatCircle function。
您只需要为折线的每个段调用此函数 - 传入开始和结束坐标。
每个函数调用都会为您提供特定段的GeoJSON - 将这个GeoJSON链接在一起(Turf为这种操作提供了更多的帮助)并且瞧 - 您现在可以通过Cesium.GeoJsonDataSource将其上传到Cesium中了。 。