【mars3d】new mars3d.layer.GeoJsonLayer(实现环状面应该怎么传data

问题:【mars3d】new mars3d.layer.GeoJsonLayer(实现环状面应该怎么传data

解决方案:

1.在示例中修改showDraw()方法的data数据,实现以下环状面效果

2.示例链接:

功能示例(Vue版) | Mars3D三维可视化平台 | 火星科技

export function showDraw(isFlyTo) {

  removeLayer()

  graphicLayer = new mars3d.layer.GeoJsonLayer({

    data: {

      type: "FeatureCollection",

      features: [

        {

          type: "Feature",

          properties: {},

          geometry: {

            type: "Polygon",

            coordinates : [

            [

                [ 112.932587264, 27.8315015372, 0 ],

                [ 112.931581377, 27.8313960612, 0 ],

                [ 112.9317102498, 27.8303965283, 0 ],

                [ 112.9322675595, 27.8304398346, 0 ],

                [ 112.9325702826, 27.8304169595, 0 ],

                [ 112.9326350142, 27.8303633901, 0 ],

                [ 112.932731492, 27.8304135676, 0 ],

                [ 112.932587264, 27.8315015372, 0 ]

            ],

            [

                [ 112.9325940284, 27.831223013, 0 ],

                [ 112.9326167096, 27.8312188361, 0 ],

                [ 112.9326669498, 27.8308174515, 0 ],

                [ 112.9326434205, 27.8308150617, 0 ],

                [ 112.9326525295, 27.8307441416, 0 ],

                [ 112.9326715888, 27.8307458325, 0 ],

                [ 112.9327035609, 27.8305016377, 0 ],

                [ 112.93263399, 27.8304944373, 0 ],

                [ 112.9326316453, 27.8305123659, 0 ],

                [ 112.9325338443, 27.8305022499, 0 ],

                [ 112.9325311448, 27.8305228596, 0 ],

                [ 112.9325160244, 27.8305213007, 0 ],

                [ 112.9324903964, 27.8307271878, 0 ],

                [ 112.9325106972, 27.8307296598, 0 ],

                [ 112.9325015792, 27.8308006612, 0 ],

                [ 112.9324812699, 27.8307985952, 0 ],

                [ 112.9324608568, 27.8310141304, 0 ],

                [ 112.9324337555, 27.8310117698, 0 ],

                [ 112.9323741147, 27.8310540164, 0 ],

                [ 112.9323702295, 27.8310802426, 0 ],

                [ 112.932472143, 27.8310906264, 0 ],

                [ 112.9324576952, 27.8312026846, 0 ],

                [ 112.9325940284, 27.831223013, 0 ]

            ],

            [

                [ 112.9323047797, 27.8307129594, 0 ],

                [ 112.932313006, 27.8306505379, 0 ],

                [ 112.9323979691, 27.830658977, 0 ],

                [ 112.9324098755, 27.8305641632, 0 ],

                [ 112.9317629261, 27.8304999311, 0 ],

                [ 112.9317510073, 27.8305948235, 0 ],

                [ 112.9318364374, 27.8306033057, 0 ],

                [ 112.9318199734, 27.8307344084, 0 ],

                [ 112.9319931918, 27.830751609, 0 ],

                [ 112.9320097248, 27.8306200485, 0 ],

                [ 112.9321395626, 27.83063313, 0 ],

                [ 112.9321228781, 27.8307645998, 0 ],

                [ 112.9322960052, 27.8307820475, 0 ],

                [ 112.9323047797, 27.8307129594, 0 ]

            ],

            [

                [ 112.9318515161, 27.8308869304, 0 ],

                [ 112.9317764413, 27.8308792153, 0 ],

                [ 112.9317724773, 27.8309060825, 0 ],

                [ 112.931745949, 27.8309128159, 0 ],

                [ 112.9317284662, 27.8309375867, 0 ],

                [ 112.931697717, 27.8309342448, 0 ],

                [ 112.9316867952, 27.8310189525, 0 ],

                [ 112.9318329464, 27.8310335741, 0 ],

                [ 112.9318515161, 27.8308869304, 0 ]

            ]

        ]

          }

        }

      ]

    },

    symbol: {

      styleOptions: {

        fill: true,

        color: "rgb(2,26,79)",

        opacity: 0.9,

        outline: true,

        outlineColor: "#39E09B",

        outlineWidth: 8,

        outlineOpacity: 0.8,

        arcType: Cesium.ArcType.GEODESIC,

        clampToGround: true

      }

    },

    flyTo: true

  })

  map.addLayer(graphicLayer)

  // load事件,必须在load完成前绑定才能监听

  graphicLayer.on(mars3d.EventType.load, function (event) {

    if (event.layer) {

      console.log("数据加载完成", event)

    }

  })

  setTimeout(() => {

    // readyPromise是可以load加载数据完成后去获取

    graphicLayer.readyPromise.then(function (layer) {

      console.log("readyPromise:数据加载完成", layer)

    })

  }, 5000)

  // 单击事件

  graphicLayer.on(mars3d.EventType.click, function (event) {

    console.log("单击了图层", event)

  })

}

补充说明:

1.环状面内部的小面的data说明:

.json数据中的2093环形面Polygon1包围了另外两个小面3655和2617分别是a和b

【mars3d】new mars3d.layer.GeoJsonLayer(实现环状面应该怎么传data_第1张图片

Polygon1:

【mars3d】new mars3d.layer.GeoJsonLayer(实现环状面应该怎么传data_第2张图片

a和b:

以下是.json文件的全部数据:

{

    "type" : "FeatureCollection",

    "name" : "SDE.FZ",

    "features" : [

{

    "type" : "Feature",

    "geometry" : {

        "type" : "Polygon",

        "coordinates" : [

            [

                [ 112.932587264, 27.8315015372, 0 ],

                [ 112.931581377, 27.8313960612, 0 ],

                [ 112.9317102498, 27.8303965283, 0 ],

                [ 112.9322675595, 27.8304398346, 0 ],

                [ 112.9325702826, 27.8304169595, 0 ],

                [ 112.9326350142, 27.8303633901, 0 ],

                [ 112.932731492, 27.8304135676, 0 ],

                [ 112.932587264, 27.8315015372, 0 ]

            ],

            [

                [ 112.9325940284, 27.831223013, 0 ],

                [ 112.9326167096, 27.8312188361, 0 ],

                [ 112.9326669498, 27.8308174515, 0 ],

                [ 112.9326434205, 27.8308150617, 0 ],

                [ 112.9326525295, 27.8307441416, 0 ],

                [ 112.9326715888, 27.8307458325, 0 ],

                [ 112.9327035609, 27.8305016377, 0 ],

                [ 112.93263399, 27.8304944373, 0 ],

                [ 112.9326316453, 27.8305123659, 0 ],

                [ 112.9325338443, 27.8305022499, 0 ],

                [ 112.9325311448, 27.8305228596, 0 ],

                [ 112.9325160244, 27.8305213007, 0 ],

                [ 112.9324903964, 27.8307271878, 0 ],

                [ 112.9325106972, 27.8307296598, 0 ],

                [ 112.9325015792, 27.8308006612, 0 ],

                [ 112.9324812699, 27.8307985952, 0 ],

                [ 112.9324608568, 27.8310141304, 0 ],

                [ 112.9324337555, 27.8310117698, 0 ],

                [ 112.9323741147, 27.8310540164, 0 ],

                [ 112.9323702295, 27.8310802426, 0 ],

                [ 112.932472143, 27.8310906264, 0 ],

                [ 112.9324576952, 27.8312026846, 0 ],

                [ 112.9325940284, 27.831223013, 0 ]

            ],

            [

                [ 112.9323047797, 27.8307129594, 0 ],

                [ 112.932313006, 27.8306505379, 0 ],

                [ 112.9323979691, 27.830658977, 0 ],

                [ 112.9324098755, 27.8305641632, 0 ],

                [ 112.9317629261, 27.8304999311, 0 ],

                [ 112.9317510073, 27.8305948235, 0 ],

                [ 112.9318364374, 27.8306033057, 0 ],

                [ 112.9318199734, 27.8307344084, 0 ],

                [ 112.9319931918, 27.830751609, 0 ],

                [ 112.9320097248, 27.8306200485, 0 ],

                [ 112.9321395626, 27.83063313, 0 ],

                [ 112.9321228781, 27.8307645998, 0 ],

                [ 112.9322960052, 27.8307820475, 0 ],

                [ 112.9323047797, 27.8307129594, 0 ]

            ],

            [

                [ 112.9318515161, 27.8308869304, 0 ],

                [ 112.9317764413, 27.8308792153, 0 ],

                [ 112.9317724773, 27.8309060825, 0 ],

                [ 112.931745949, 27.8309128159, 0 ],

                [ 112.9317284662, 27.8309375867, 0 ],

                [ 112.931697717, 27.8309342448, 0 ],

                [ 112.9316867952, 27.8310189525, 0 ],

                [ 112.9318329464, 27.8310335741, 0 ],

                [ 112.9318515161, 27.8308869304, 0 ]

            ]

        ]

    },

    "properties" : {

        "OBJECTID" : 2093

    }

},

{

    "type" : "Feature",

    "geometry" : {

        "type" : "Polygon",

        "coordinates" : [

            [

                [ 112.9325940284, 27.831223013, 0 ],

                [ 112.9324576952, 27.8312026846, 0 ],

                [ 112.932472143, 27.8310906264, 0 ],

                [ 112.9323702295, 27.8310802426, 0 ],

                [ 112.9323741147, 27.8310540164, 0 ],

                [ 112.9324337555, 27.8310117698, 0 ],

                [ 112.9324608568, 27.8310141304, 0 ],

                [ 112.9324812699, 27.8307985952, 0 ],

                [ 112.9325015792, 27.8308006612, 0 ],

                [ 112.9325106972, 27.8307296598, 0 ],

                [ 112.9324903964, 27.8307271878, 0 ],

                [ 112.9325160244, 27.8305213007, 0 ],

                [ 112.9325311448, 27.8305228596, 0 ],

                [ 112.9325338443, 27.8305022499, 0 ],

                [ 112.9326316453, 27.8305123659, 0 ],

                [ 112.93263399, 27.8304944373, 0 ],

                [ 112.9327035609, 27.8305016377, 0 ],

                [ 112.9326715888, 27.8307458325, 0 ],

                [ 112.9326525295, 27.8307441416, 0 ],

                [ 112.9326434205, 27.8308150617, 0 ],

                [ 112.9326669498, 27.8308174515, 0 ],

                [ 112.9326167096, 27.8312188361, 0 ],

                [ 112.9325940284, 27.831223013, 0 ]

            ]

        ]

    },

    "properties" : {

        "OBJECTID" : 3655

    }

},

{

    "type" : "Feature",

    "geometry" : {

        "type" : "Polygon",

        "coordinates" : [

            [

                [ 112.9323047797, 27.8307129594, 0 ],

                [ 112.9322960052, 27.8307820475, 0 ],

                [ 112.9321228781, 27.8307645998, 0 ],

                [ 112.9321395626, 27.83063313, 0 ],

                [ 112.9320097248, 27.8306200485, 0 ],

                [ 112.9319931918, 27.830751609, 0 ],

                [ 112.9318199734, 27.8307344084, 0 ],

                [ 112.9318364374, 27.8306033057, 0 ],

                [ 112.9317510073, 27.8305948235, 0 ],

                [ 112.9317629261, 27.8304999311, 0 ],

                [ 112.9324098755, 27.8305641632, 0 ],

                [ 112.9323979691, 27.830658977, 0 ],

                [ 112.932313006, 27.8306505379, 0 ],

                [ 112.9323047797, 27.8307129594, 0 ]

            ]

        ]

    },

    "properties" : {

        "OBJECTID" : 2617

    }

}

]

}

你可能感兴趣的:(前端,javascript,开发语言)