首页 / 浏览问题 / WebGIS / 问题详情
沿线飞行flyManager.readyPromise.then不生效
2EXP 2020年07月20日
onload(Cesium) {

      var toolbar = document.getElementById("toolbar");

      var viewer = new Cesium.Viewer("cesiumContainer");

      viewer.imageryLayers.addImageryProvider(

        new Cesium.BingMapsImageryProvider({

          url: "https://dev.virtualearth.net",

          mapStyle: Cesium.BingMapsStyle.AERIAL,

          key: URL_CONFIG.BING_MAP_KEY

        })

      );

      var scene = viewer.scene;

      scene.globe.depthTestAgainstTerrain = false;

      var camera = scene.camera;

      //添加S3M图层服务

      var promise = scene.open(URL_CONFIG.SCENE_NIAOCHAO);

      Cesium.when(promise, layers => {

        camera.setView({

          destination: Cesium.Cartesian3.fromDegrees(116.3801, 39.9874, 12.0),

          orientation: {

            heading: 6.260995919619558,

            pitch: 0,

            roll: 0

          }

        });

        var routes = new Cesium.RouteCollection(viewer.entities);

        //添加fpf飞行文件,fpf由SuperMap iDesktop生成

        var fpfUrl = "../utils/niaocao.fpf";

        routes.fromFile(fpfUrl);

        //初始化飞行管理

        flyManager = new Cesium.FlyManager({

          scene: scene,

          routes: routes

        });

        //注册站点到达事件

        flyManager.stopArrived.addEventListener(function(routeStop) {

          routeStop.waitTime = 1; // 在每个站点处停留1s

        });

        flyManager.readyPromise.then(() => {

          // 飞行路线就绪

          var currentRoute = flyManager.currentRoute;

          currentRoute.isLineVisible = true;

          currentRoute.isStopVisible = true;

          //生成飞行文件中的所有站点列表

          var allStops = flyManager.getAllRouteStops();

          console.log(allStops);

        });

      });

    },

1个回答

您好,我这里测试您的代码是没问题的。需要注意的是,我不知道您的飞行文件路径是否正确,我用的是示例代码自带的飞行路径。
1,545EXP 2020年07月20日
您好,在vue框架下您的飞行文件需要放在static目录下。

crying然后还需要在html里引用么

您好,是需要添加引用的。
昨天写着就去开会过需求了,如果你有vue的demo可以给我发一份么

您好,如何添加引用可以参考http://support.supermap.com.cn:8090/webgl/examples/component/examples.html#layer这里的demo

...