Нарисуйте несколько полигонов в одной функции, используя Cecium JS - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть список координат многоугольника. Я смог нарисовать эти многоугольники внутри всего oop. Есть ли способ, которым я могу нарисовать 100 полигонов в одном go.

То есть я рисую 100 полигонов в одном oop. Необходимо нарисовать 100 полигонов в одном экземпляре чертежа. Пожалуйста, проверьте мой код.

Cesium.Camera.DEFAULT_VIEW_FACTOR = 0.2;
var map = new Cesium.Viewer('cesiumContainer', {
    infoBox: false,
    selectionIndicator: false,
    shouldAnimate: true,
    navigationHelpButton: false,
    animation: false,
    timeline: false,
    geocoder: false,
    sceneMode : Cesium.SceneMode.SCENE2D,
    imageryProvider : Cesium.createTileMapServiceImageryProvider({
      url : Cesium.buildModuleUrl('Assets/Textures/NaturalEarthII')
    }),
    baseLayerPicker : false,
    requestRenderMode : true
});

scene = map.scene;
scene.globe.enableLighting = false;
scene.requestRenderMode = true;

$.ajax({
  url: "data.json",
  type: 'GET',
  success: function(res) {
    var cellCoordsList = res.CellCoordsList;
    for(var i = 0; i < cellCoordsList.length; i++) {
      var data = Cesium.Cartesian3.fromDegreesArray([
            cellCoordsList[i].Coord1.Lon, cellCoordsList[i].Coord1.Lat,
            cellCoordsList[i].Coord2.Lon, cellCoordsList[i].Coord2.Lat,
            cellCoordsList[i].Coord3.Lon, cellCoordsList[i].Coord3.Lat,
            cellCoordsList[i].Coord4.Lon, cellCoordsList[i].Coord4.Lat
          ]);
      drawPolygon(data);
    }
  }
});


function drawPolygon(data) {
  var redPolygon = map.entities.add({
    name : 'Red polygon on surface',
    polygon : {
      hierarchy : data,
      material : Cesium.Color.RED
    }
  });
}
...