您现在的位置: 首页 > 城市三维场景SDK开发 > 开发指南


1.三维场景数据信息检索 该功能提供查询三维场景上所有元素的信息检索功能 search

第一步,配置检索楼层范围


  //以下代码都要在三维场景加载完成事件里调用:map.on('loadComplete',function(){ //yourcode })
var queryFloors = "all"   //全楼层检索。也可以传入某个楼层,或者一组楼层(数组)

第二步,配置检索字段

检索字段共包含七种: nodeType : 元素类型,可选。 name : 元素name,可选。 keyword : 关键词查询,可选。 ID : 元素ID,可选。 FloorNum : 元素所属楼层,可选。与第一步骤中queryFloors作用一样,但此处只能指定单个楼层 typeID : 元素所属分类ID,可选。 types : 检索的图层类型。如不指定,默认检索三维场景所有类型的图层。默认值:(esmap.ESLayerType) [ esmap.ESLayerType.MODEL, (房间) esmap.ESLayerType.MODEL_LABEL, (文字label) esmap.ESLayerType.MODEL_POI, (图片poi) esmap.ESLayerType.IMAGE_MARKER, (自定义图片标注) esmap.ESLayerType.TEXT_MARKER, (自定义文字标注) esmap.ESLayerType.MODEL3D, (三维模型标注) esmap.ESLayerType.LOCATION_MARKER (定位标注) ]

示例:

//根据关键字模糊查询。如查询关键字为"车位"的房间
var queryParams = {
    nodeType: esmap.ESNodeType.MODEL, //nodeType指定为房间类型
    keyword: '车位'
};

//根据id或者name精确查询。如查询ID为56的poi
var queryParams = {
    nodeType: esmap.ESNodeType.FACILITY, //nodeType指定为poi类型
    ID: 56,
    //name: '出口'  或者根据name查询
};

//按分类搜索,查询所有分类为厕所(typeID=2)的房间,会查出所有以2开头的二级分类的房间
var queryParams = {
    nodeType : esmap.ESNodeType.MODEL,
    typeID : 2
};

//检索多种元素。如查询所有name为'电梯'的label,poi和房间。
var queryParams = {
    types:[esmap.ESLayerType.MODEL_POI,esmap.ESLayerType.MODEL_LABEL,esmap.ESLayerType.MODEL],
    name:'电梯'
}

第三步,调用三维场景查询函数,并对查询结果进行操作


esmap.ESMapUtil.search(map, queryFloors, queryParams, function (e) {
console.log(e)
})

//示例: 查询一楼所有房间:
esmap.ESMapUtil.search(map,1,{nodeType:esmap.ESNodeType.MODEL},function(e){
    console.log(e)
    //1层的所有的房间
})

//示例: 查询三,四,五楼所有poi:
esmap.ESMapUtil.search(map,[3,4,5],{nodeType:esmap.ESNodeType.FACILITY},function(e){
    console.log(e)
    //3,4,5层的所有的POI
})

2.三维场景周边信息查询 该功能提供根据距离寻找当前位置附近的信息

第一步,确定当前位置坐标点coord

搜索将以此点为中心


    var coord = {
        x:12694512.917888649,
        y:2569003.7859249497
    }
     

第二步,确定搜索半径radius(单位:米)


   var radius = 30;
    

第三步,开始查询


    var params = {
        //查询的坐标点
        mapCoord: coord,
        //查询的范围半径
        radius: radius,
        // 要查询 的类型
        nodeType: esmap.ESNodeType.MODEL
    }
    esmap.ESMapUtil.search(map,"all", params, function (data) {
        //输出查询结果
        console.log(data);
    });
三维场景分类分为一级12种分类,100多种二级分类,需要详细的三维场景分类,请加QQ群进行咨询.
易景空间三维场景分类