标签: cesium

Cesium Map可以显示多少个点?

我试图将数千个点放在Cesium地图上并遇到Firefox崩溃的问题.我需要使用Firefox.地图似乎能够显示15,000个点(作为图像).但是,它几乎无法使用.缩放和平移有很大的延迟并最终崩溃.有谁知道限制应该多少点?此外,有没有更好的方式来显示这些点然后我这样做?我真的希望这是我,而不是铯.我听说创建czml然后传入它比较慢,所以我有以下javascript测试:

function test(){
  for (var i=0; i<15000; i++){
     tempLat +=1;
     tempLon +=1;
     if(tempLat>90){
      tempLat=0;
      tempLon=0;
     }
     addBillboard(scene, ellipsoid, tempLat,tempLon);
  }
}

 //this is from the sandcastle examples for cesium. 
 function addBillboard(scene, ellipsoid,tempLat,tempLon) {
    var primitives = scene.primitives;
    var image = new Image();
    image.onload = function() {
        var billboards = new Cesium.BillboardCollection();
        var textureAtlas = scene.context.createTextureAtlas({image : image});
        billboards.textureAtlas = textureAtlas;
        billboard = billboards.add({
            position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(tempLat, tempLon)),
            imageIndex : 0
        });
        primitives.add(billboards);
    };
    image.src = '../images/Cesium_Logo_overlay.png';
}
Run Code Online (Sandbox Code Playgroud)

javascript map cesium

5
推荐指数
1
解决办法
2527
查看次数

HTML5 /铯-使div浮在铯地图上

我正在使用铯:http : //cesiumjs.org/ ,我想让一些div浮在铯地图上,但我无法使其正常工作。

我在jsfiddle.net/j08691/dChUR/5/上尝试了以下容器/标签方法-用铯映射div替换图像-但它似乎不起作用-未显示“标签” div。

有什么帮助吗?

html5 cesium

5
推荐指数
1
解决办法
3106
查看次数

Cesium WebGL相机旋转,如何停止旋转

好的,第一次使用Cesium.我有一个简单的,非高级的问题,我在他们的表单上发布了几次,但没有人回应.所以我想我会在这里试试.

我需要做的就是弄清楚如何在调用另一个事件之前停止一个事件.这是一个正在发生的事情的例子.地球在用户连接上旋转,但如果他们点击"飞回家"等我需要它停止.

代码如下.

所以spinGlobe中的arg是spinRate.如果我在初始连接上传入0.0,它将不会旋转.完善.所以我觉得如果点击事件(用户点击飞回家),则调用spinGlobe(0.0)表示地球将停止旋转.但事实并非如此.我可以不动态更改spinRate吗?或者我这样做是错的?

spinGlobe( 0.5 )

 function spinGlobe( dynamicRate )
 var previousTime = Date.now();

 viewer.clock.onTick.addEventListener(function( clock ) {
 var spinRate = dynamicRate;
 var currentTime = Date.now();
 var delta = ( currentTime - previousTime ) / 1000;
 previousTime = currentTime;
 viewer.scene.camera.rotate(Cesium.Cartesian3.UNIT_Z, -spinRate * delta);
 });
 }
Run Code Online (Sandbox Code Playgroud)

javascript rotation cesium

5
推荐指数
1
解决办法
1488
查看次数

铯-对通过CZML创建的广告牌使用scaleByDistance

我试图将图标显示为广告牌,并按距离缩放它。我可以进行很好的管理,但是一旦我通过CZML而不是直接在JS中加载广告牌,就无法获得调整广告牌大小的功能。

在我的JS文件中,我有:

var czmlDataSource = new Cesium.CzmlDataSource();
czmlDataSource.loadUrl('airports.czml');
viewer.dataSources.add(czmlDataSource);
Run Code Online (Sandbox Code Playgroud)

我的CZML文件显示:

[
  {
    "id":"document",
    "version":"1.0"
  },
  {
    "id":"test",
    "billboard":{
      "image":"airport.png",
      "verticalOrigin":"BOTTOM",
      "show":true
    },
    "position":{
      "cartographicDegrees":[
        0.055278, 51.505278, 0
      ]
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

在我使用这个之前:

entity.billboard.scaleByDistance = new Cesium.ConstantProperty(new Cesium.NearFarScalar(1.5e3, 0.3, 3.5e5, 0.0));
Run Code Online (Sandbox Code Playgroud)

显然,这现在行不通。但是我找不到一种方法来获取广告牌的ID并使用scaleByDistance。

javascript cesium czml

5
推荐指数
1
解决办法
1307
查看次数

如何在Cesiumjs中控制数据源的可见性?

我想在一个cesiumjs查看器中显示多个数据源,但需要允许用户选择他们希望在任何给定时间看到的数据源。例如,如果我加载kml和czml文件,如何隐藏一个文件并显示另一个文件?我找不到使用它的API的cesiumjs方法。

kml cesium

5
推荐指数
1
解决办法
3008
查看次数

如何在CesiumJS中拍摄地图截图?

我正在使用CesuimJS(http://cesiumjs.org/)呈现地图。我想截取部分地图的屏幕截图。

我尝试使用Three.js(http://learningthreejs.com/blog/2011/09/03/screenshot-in-javascript/),但是无法截图

有任何想法吗?

angularjs cesium

5
推荐指数
1
解决办法
673
查看次数

如何在CesiumJS中的两个实体之间创建移动线?

我的页面上有两个实体;卫星及其“地面位置”,随着时间的推移,它们都会在铯中移动。我想用一条随它们一起移动的直线将两者连接起来。

CZML魅力似乎如果您使用的是CZML文件演示了类似的功能,但我想知道如何在代码中做到这一点。他们的演示在卫星和地面位置之间包含多条线,并且实际上,他们向前走了一步,仅在不与地球相交的情况下(如果两个实体之间存在视线)显示该线。我不需要那么花哨的东西。

有没有很好的例子,或者有人可以指出我的文档?谢谢!

cesium czml

5
推荐指数
1
解决办法
2161
查看次数

使用webpack在cesiumjs中出现requirejs错误

我尝试使用热版本运行我的项目(使用正常版本执行相同的操作)并且它给了我这个错误:

Project is running at http://localhost:8080/
webpack output is served from /
Content not from webpack is served from C:\projects\Web Network Analysis\public\src
Hash: 94a02afbd667b1bea74c
Version: webpack 2.2.1
Time: 3694ms
        Asset     Size  Chunks                    Chunk Names
client.min.js  3.17 MB       0  [emitted]  [big]  main
chunk    {0} client.min.js (main) 1.15 MB [entry] [rendered]
   [10] ./~/react/react.js 56 bytes {0} [built]
  [122] ./~/react-router/es/index.js 1.46 kB {0} [built]
  [144] (webpack)/hot/emitter.js 77 bytes {0} [built]
  [145] ./js/client.js 940 bytes {0} [built]
  [146] (webpack)-dev-server/client?http://localhost:8080 5.28 kB {0} [built]
  [147] …
Run Code Online (Sandbox Code Playgroud)

requirejs cesium webpack

5
推荐指数
1
解决办法
2017
查看次数

如何在Cesium JS中绘制半圆?

Cesium可以制作圆(例如,通过创建一个定义了椭圆的实体)和圆弧(折线)。但是我还没有找到创建部分填充圆的方法。

我们使用Cesium来显示条形图和覆盖在地图上的其他报告详细信息。现在,我们需要在地图上显示饼图。为此,我们需要能够创建以给定颜色填充的圆形的50%,30%,20%或其他任意百分比。在铯中可以做到这一点吗?

我只能创建一条弧线和两条连接线,以创建局部圆的轮廓,但是我找不到一种方法来创建具有填充颜色的局部圆(类似于EllipseGraphics本身所允许的)。

cesium

5
推荐指数
1
解决办法
256
查看次数

铯地球实体路径质量

我使用该Cesium Earth库开发了一个应用程序.

问题是,绘制的线(实体路径)具有非常低的质量,它不是平滑的.如何让它变得更好?

  viewer = new Cesium.Viewer('cesiumContainer', {
    imageryProvider: false,
    shadows:true,
    skyAtmosphere: false,
    geocoder: false,
    shouldAnimate:true,
    clockViewModel: new Cesium.ClockViewModel(clock),
    imageryProviderViewModels: imageryViewModels,
    requestRenderMode : true
  });

entity[i] = viewer.entities.add({              
            path:{
               leadTime:leadTime,
               trailTime:trailTime,
               width:1.5,
               material: color,
               resolution:10
            }
});

satellite[id].position.setInterpolationOptions({
         interpolationDegree : 10,
         interpolationAlgorithm : Cesium.HermitePolynomialApproximation 
});
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

javascript cesium

5
推荐指数
1
解决办法
136
查看次数

标签 统计

cesium ×10

javascript ×4

czml ×2

angularjs ×1

html5 ×1

kml ×1

map ×1

requirejs ×1

rotation ×1

webpack ×1