[英]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.