var dataSourcePromise = viewer.dataSources.add(Cesium.KmlDataSource.load('../../SampleData/kml/facilities/facilities.kml', options));在按照cesium官网demo写地球的时候,调用这个kml一直不通,报404,有大神遇到的吗?如何解决的?

解决方案 »

  1.   

    这类问题和servlet或者页面问题类似,可以通过检查路径,访问配置,拼写是否有问题。
      

  2.   

    谢谢您的回答,这个报路径错误,但是我将facilities.kml此文件放在同级仍然报错。
      

  3.   

    var kmlDataSource = new Cesium.KmlDataSource();
    kmlDataSource.loadUrl('path/to/kml');
    viewer.dataSources.add(kmlDataSource);
      

  4.   

    谢谢您的回复,我在代码中这样写的时候报错:类型“KmlDataSource”上不存在属性“loadUrl”。ts(2339)
    var options = {
                camera: viewer.scene.camera,
                canvas: viewer.scene.canvas
            };
            
            var kmlDataSource = new Cesium.KmlDataSource(options);
            kmlDataSource.loadUrl('path/to/kml');
            viewer.dataSources.add(kmlDataSource);
      

  5.   


    是我写的代码有问题吗?我需要怎么做。
    需要把文件放在服务器上请求吗?嗯,正常的话,文件应该在服务器上。
    文件在本地的话要麻烦一些。需要怎么做呢不是很清楚,好像是
    viewer.extend(Cesium.viewerDragDropMixin);
    viewer.dataSources.add(KmlDataSource.fromUrl('path/to/kml'));
    你试试,我不知道好不好使。