; (function (Cesium) { checkSkyScenery(Cesium); function addTree(jsonUrl, gltfUrl) { return new Promise((resolve, reject) => { $.getJSON(jsonUrl, function (obj) { let keyArr = Object.keys(obj); let objectArr = Object.values(obj); let primitiveArr = keyArr.map(function (key, index) { return loadBigDataGltf(objectArr[index].positions, key, gltfUrl); }); resolve(primitiveArr); }); }); } // 加载大批量gltf文件 function loadBigDataGltf(array, gltfName, gltfUrl) { let instances = []; for (let i = 0; i < array.length; i++) { let modelMatrix = Cesium.Transforms.headingPitchRollToFixedFrame( Cesium.Cartesian3.fromRadians(array[i], array[i + 1], 5), new Cesium.HeadingPitchRoll(0, 0, 0) ); Cesium.Matrix4.multiplyByUniformScale(modelMatrix, 1, modelMatrix); // 缩放 instances.push({ modelMatrix: modelMatrix, }); } let primitive = new Cesium.ModelInstanceCollection({ // url: "./static/gltf/" + gltfName + ".gltf", url: gltfUrl + gltfName + ".gltf", instances: instances, }); return primitive // globalVariable.viewer.scene.primitives.add(primitive); } Cesium.addTree = addTree; }(SkyScenery))