簡體   English   中英

使用屬性名稱搜索 Autodesk Forge Viewer3d

[英]Autodesk Forge Viewer3d search using attributeNames

我正在嘗試使用可選參數實現 .search() 並限制 attributeNames 但它總是帶回一個空數組。

https://developer.autodesk.com/en/docs/viewer/v2/reference/javascript/viewer3d/

有人可以澄清一下這個過濾器是如何應用的嗎? 我期待它查看返回的 property.displayName 但顯然情況並非如此。

例子:

viewer.search('13-097', function (ids) {
   console.log(ids);

   var id = ids[0];
   viewer.getProperties(id, function (obj) {
      console.log(obj.properties);
   });
}, function (e) { });

viewer.search('13-097', function (ids) {
   console.log(ids);
}, function (e) { }, ['ADDRESS']);

輸出:第一次搜索:

[8095]

第二次搜索:

[]

來自對象 8095,屬性:

10:Object
displayCategory:"DWF - Construction"
displayName:"ADDRESS"
displayValue:"13-097"
hidden:false
type:20
units:null

請注意Autodesk.Viewing.Viewer3D.search()方法對text參數不區分大小寫,但對attributeNames參數區分大小寫,您需要使用屬性的全名。

如果您使用屬性的displayName進行關聯,請注意viewer.getProperties()當前正在返回displayName 當沒有 displayName 時,則(並且僅在那時)返回屬性名稱。

以下是我之前嘗試過的示例(根據您的數據集進行了調整):

function search() {
    viewer.clearSelection(); // remove previously highlighted searches

    var searchStr = '13-097';     
    var searchPropList = new Array('ADDRESS');
    viewer.search(searchStr, searchCallback, searchErrorCallback, searchPropList);
}

function searchCallback(ids) {
    alert(ids.length);
}

function searchErrorCallback(error) {
    console.log(error);
}

編輯(2016 年 10 月 24 日)

Viewer 2.11 .getProperties 方法返回可用於 .search attributesNames 參數的屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM