之前主要是Entity的一個(gè)大概流程,本文主要介紹Cesium的屬性,比如defineProperties,Property(ConstantProperty,CallbackProperty,ConstantPositionProperty)以及createPropertyDescriptor的相關(guān)內(nèi)容,研究一下Cesium對(duì)Object的屬性設(shè)計(jì)和使用方式。

       我們以Entity為例,看看它是如何封裝自己的屬性:

電腦培訓(xùn),計(jì)算機(jī)培訓(xùn),平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),Web培訓(xùn),Web前端開發(fā)培訓(xùn)

function Entity(options) {    var id = options.id;    if (!defined(id)) {
        id = createGuid();
    }    this._id = id;    this._name = options.name;    this._description = undefined;    this._position = undefined;    this._rectangle = undefined;
}// Key 1:definePropertiesdefineProperties(Entity.prototype, {
    id : {
        get : function() {            return this._id;
        }
    },    // Key 2:createRawPropertyDescriptor
    name : createRawPropertyDescriptor('name'),    // Key 3:createPropertyDescriptor
    description : createPropertyDescriptor('description'),    // Key 4:createPositionPropertyDescriptor
    position : createPositionPropertyDescriptor('position'),    // Key 5:createPropertyTypeDescriptor
    rectangle : createPropertyTypeDescriptor('rectangle', RectangleGraphics)
});

網(wǎng)友評(píng)論