![](/img/trans.png)
[英]Default model & measurement units in 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.