繁体   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