草庐IT

Cesium viewer.extend 五个拓展(五)

LJXXXX 2023-03-28 原文

2023-01-09

1.viewerDragDropMixin

一个mixin,它为查看器小部件添加了对CZML文件的默认拖放支持。

 

 

 

 

czml即为json,但json不一定为czml;如同geojson与json的关系。

czml文件通常为一个对象数组,每个id唯一代表一个对象。

CZML使用浏览器的server-sent events(EventSource)API来处理流数据---实现增量处理。

该函数通常作为参数传递给Viewer#extend,而不是直接调用。

// Add basic drag and drop support and pop up an alert window on error.
const viewer = new Cesium.Viewer('cesiumContainer');
viewer.extend(Cesium.viewerDragDropMixin);
viewer.dropError.addEventListener(function(viewerArg, source, error) {
    window.alert('Error processing ' + source + ':' + error);
});

 

 

 2.viewerCesium3DTilesInspectorMixin

const viewer = new Cesium.Viewer('cesiumContainer');
viewer.extend(Cesium.viewerCesium3DTilesInspectorMixin);

3.viewerCesiumInspectorMixin

const viewer = new Cesium.Viewer('cesiumContainer');
viewer.extend(Cesium.viewerCesiumInspectorMixin);

 2和3差不多,就一起讲

 

 

 扩展之后会在右边出现一个面板,有一些功能可以选择,常作为调试工具使用

 

我们可以通过这个检查器来查看我们模型的边界、轴坐标等,当前这个检查器的功能不止在3D模型上,还有拾取当前点的经纬度等其他功能

 

4.viewerPerformanceWatchdogMixin

const viewer = new Cesium.Viewer('cesiumContainer');
viewer.extend(Cesium.viewerPerformanceWatchdogMixin, {
    lowFrameRateMessage : 'Why is this going so <em>slowly</em>?'
});
只有lowFrameRateMessage一个参数:检测到低帧速率时要显示的消息。

该消息以HTML形式插入,因此请确保它来自可信的源,以便您的应用程序不易受到跨站点脚本攻击。

 

5.viewerVoxelInspectorMixin

var viewer = new Cesium.Viewer('cesiumContainer');
viewer.extend(Cesium.viewerVoxelInspectorMixin);

暂时不知道干嘛的,我直接用上面的代码添加扩展会直接报错...知道了再更新

 

有关Cesium viewer.extend 五个拓展(五)的更多相关文章

  1. ruby-on-rails - rails : how to extend a gem's ActiveRecord child class? - 2

    我在扩展一个在gem中定义并且是ActiveRecord::Base的子类的类时遇到问题。我唯一想扩展这个类的是:有很多:promos然而,扩展倾向于排除原始类。我得到的错误:PGError:ERROR:relation"sites"doesnotexistLINE4:WHEREa.attrelid='"sites"'::regclass^:SELECTa.attname,format_type(a.atttypid,a.atttypmod),d.adsrc,a.attnotnullFROMpg_attributeaLEFTJOINpg_attrdefdONa.attrelid=d.a

  2. ruby - 基本元编程 : extending an existing class using a module? - 2

    我希望我的模块的一部分能够扩展String类。这行不通moduleMyModuleclassStringdefexclaimselfNoMethodError但这样做moduleMyModuledefexclaimself"thisisastring!!!!!"我不希望MyModule的所有其他功能都被String束缚。在最高级别再次包含它似乎很丑陋。当然有更简洁的方法来做到这一点? 最佳答案 exclaim第一个示例中的方法是在一个名为MyModule::String的类中定义的,与标准无关String类(class)。在您的模块

  3. ruby - base.extend 与 base.class_eval 扩展 - 2

    这个语法在功能上是否等同defself.included(base)base.class_evaldoextendClassMethodsendend为了这个?defself.included(base)base.extendClassMethodsend 最佳答案 唯一相关的区别是只有类响应“class_eval”,而类和实例都响应“扩展”。如果您不打算将您的方法与对象实例一起使用,那么它们是等效的,尽管第二个实现可用于将实例方法添加到特定实例,而第一个不能。 关于ruby-base.

  4. ruby - ruby 模块 self.included 和 self.extended 行为记录在哪里? - 2

    我正在查看rubymixin博客文章,它说当一个模块包含在一个类中时,它的self.included()方法被调用。我的问题是,这种行为的正式记录在哪里?我似乎无法在ruby​​-docs.org网站或镐上找到它。 最佳答案 虽然它不在RubyDoc上出于某种原因,included实际上已被记录。在终端中运行riModule.included提供以下内容:included(othermod)Callbackinvokedwheneverthereceiverisincludedinanothermoduleorclass.Thiss

  5. ruby - 在 ruby​​ 上,为什么 include 是私有(private)的而 extend 是公共(public)的? - 2

    在ruby上,为什么include是private,而Object#extend是public? 最佳答案 Object#extend必须是公开的,否则您将无法使用它。毕竟,它的目的是将模块混合到对象中,因此您通常会像obj.extend(Foo)那样调用它,这对于私有(private)方法是不可能的。Module#include通常只在模块体内使用,如下所示:classBarincludeFooend即它通常在没有接收者的情况下被调用,所以它不必公开。当然,它也必须是私有(private)的。我猜它之所以是私有(private)的

  6. ruby - "extend self"是实用模块的反模式吗? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想改善这个问题吗?更新问题,以便可以通过editingthispost用事实和引文回答问题.7年前关闭。ImprovethisquestionSteveKlabnik最近在pullrequest中说对于实用程序模块:[Thecode]obscuresthefactthattheseareclassmethods,andwewanttousethemthatway.Plus,Ithinkthatextendselfisgenerallyananti-pattern,andshouldn'treallybeusedexcepti

  7. ruby 混合 : extend and include - 2

    我已经阅读了一些关于Ruby的mixin方法、extend和include的文章,但我仍然不太确定其行为。我知道extend会将给定模块的实例方法作为单例方法添加到执行扩展的模块中,而include基本上会附加模块的内容(方法,常量,变量)到执行包含的那个,有效地在接收器中定义它们。然而,经过一些修补,试图了解行为将如何表现出来后,我有几个问题。这是我的测试设置:moduleBazdefblorgputs'blorg'endendmoduleBarincludeBazdefblahputs'blah'endendmoduleFooextendBarendclassBaconextend

  8. ruby - ruby 中的 'extend' 有多贵? - 2

    首先,我知道extend和include是如何工作的,以及它们通常用于什么等等。这是否是个好主意不在我的问题。我的问题是:extend有多贵?扩展实例和单例对象是一种常见的Javascript技术。可以在Ruby中做类似的事情,但是如果在很多对象上使用它会很慢吗? 最佳答案 让我们看看在Ruby1.9.3-p0中如果你在一个对象上调用extend会发生什么:/*eval.c,line879*/voidrb_extend_object(VALUEobj,VALUEmodule){rb_include_module(rb_singlet

  9. ruby - Ruby 中的 "include module"和 "extend module"有什么区别? - 2

    这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:WhatisthedifferencebetweenincludeandextendinRuby?给定:modulemy_moduledeffoo...endend问题一有什么区别:classAincludemy_moduleend和classAextendmy_moduleend问题二将foo视为实例方法还是类方法?换句话说,这是否等同于:classAdeffoo...endend或:classAdefself.foo...endend?

  10. 电脑风扇声音大怎么办?五个好用的方法【完整教程】 - 2

    电脑风扇可以电脑更好地运行,但是很多小伙伴投稿,说它们的电脑风扇不知道什么原因,风扇的声音很大。电脑风扇声音大怎么办?来看本文讲解的5个原因以及对应的解决方法。操作环境:演示机型:Delloptiplex7050系统版本:Windows10方法一风扇声音过大,那么电脑风扇转速怎么调节?通过下面的操作步骤,可以调整电脑风扇的速度,使它以较低和均匀的速度旋转,声音也就不会这么大了。第1步:按下【Win+i】打开电脑的【控制面板】,在右侧的搜索框内输入【电源选项】,就会快速查找到它,单击【电源选项】;第2步:找到【选定的计划】右侧的【更改计划设置】并打开它;第3步:选择【更改高级电源设置】;第4步:

随机推荐