浏览问题
等待回复
精选文章
申请试用
资源中心
漏洞修复
注册
|
登录
SuperMap技术问答社区
我要
提问
智能客服
首页
/
浏览问题
/
三维GIS
/
问题详情
三维属性字段查询undefined
黄龍
64EXP
2017年09月06日
iClient 字段属性查询,字段名查出来了,但是字段名所对应的值全部都是undefined?请问是什么原因呢?
属性查询
iclient
1个回答
您好,请您清一下客户端缓存。
停止iServer服务,打开运行输入“%appdata%”把应用目录“AppData\LocalLow\SuperMap”和“AppData\Local\SuperMap”目录删了,iServer目录下\webapps\iserver\output”删了,重启iServer服务即可。
邹涛
1
3,389EXP
2017年09月06日
你好,按照您的方法删除除掉相应的目录之后,场景上的模型不见了,真的就不见了,所以对象选择事件都没法实现,这是怎么回事?
您好,删的都是缓存目录,是不会消失的哦。
服务重启了吗?
是的服务重启了,然后我试了一下用范例的程序加载了一下我的场景图层,也是字段正确显示,对应的值是undefind,然后我确定在我的工作空间中数据信息是正常存在的
场景能看见了么?是什么缓存的数据?
是SQL查询,还点选查询?把您查询的代码贴我瞧瞧。
//控件初始化完成后的回调函数,初始化完成之后才能进行数据加载
function initCallback()
{
//获取地球控件场景,控件和场景是一对一的捆绑关系
scene = sceneControl.get_scene();
scene.open(sceneUrl, "shexiangtou@xiaopin");
//指定场景的服务器地址
var sceneAddress = sceneUrl;
//指定图层名字
var layerName = "广告牌3d2@要素点位置";
//获取三维图层信息列表对象实例
var layer3DServicesList = sceneControl.get_layer3DServicesList();
//从指定的服务器获取场景的图层服务信息,获取成功返回 True
var bLoad = layer3DServicesList.load(sceneAddress, "shexiangtou@xiaopin");
if(bLoad)
{
var layer3DServiceInfo = layer3DServicesList.get_item(layerName);
var dataName = layer3DServiceInfo.get_dataName();
//打开图层
var layer3D = scene.get_layer3Ds().add(sceneAddress, layerName, dataName, SuperMap.Web.Realspace.Layer3DType.VECTOR);
if (layer3D != null)
{
//获取图层的地理范围,并飞行到该范围
var geobound = layer3D.get_bounds();
scene.get_flyingOperator().flyToBounds(geobound);
}
}
//为场景控件添加一个选择侦听事件。
sceneControl.addEvent("objectSelected",getFieldandValue);
}
//当在场景控件上进行选择操作时,触发该事件。
function getFieldandValue(selection3Ds)
{
var layer3D = scene.get_layer3Ds().get_item("广告牌3d2@要素点位置");
var fieldInfo = "";
fieldCount = layer3D.get_fieldInfos().get_count();
for(var i=0;i<fieldCount;i++)
{
fieldInfo += layer3D.get_fieldInfos().get_item(i).get_name() + ":";
fieldInfo += layer3D.getFieldValue(i) + "; ";
}
alert(fieldInfo);
}
点选查询,我用浏览器开发工具打断点测试,layer3D是null?哪里出问题了呢?scene.get_layer3Ds().add(sceneAddress, layerName, dataName, SuperMap.Web.Realspace.Layer3DType.VECTOR);参数分别是场景所在的服务地址,图层名称,这个图层所对应的数据集名称,图层类型,不清楚为什么是空的呢?
您是代码添加的图层?可以试试把图层保存到场景,打开场景再获取。
缓存的格式是矢量缓存?
太感谢您了,和您这个交流的过程中发现了解决办法,谢谢谢谢
我也遇到类似问题,按您的方法解决啦.赞!!!
请
登录
或者
注册
后再添加评论。
智能推荐
相关问题
相关文章
推荐教程
属性查询字段名
sql属性信息查询无法通过其他字段来进行查询????
属性字段查询显示所在位置
属性字段查询显示所在位置
属性字段查询显示所在位置
iClient3D属性查询
示例程序不显示属性查询
iclient leaflet 属性查询
热门文章
查看更多>
关注我们
超图软件官网
SuperMap Online
地图慧
帮助中心
备案信息
技术资源中心
...