Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选定的要素不会在文本框中显示值_Javascript_Feature Selection_Arcgis Js Api - Fatal编程技术网

Javascript 选定的要素不会在文本框中显示值

Javascript 选定的要素不会在文本框中显示值,javascript,feature-selection,arcgis-js-api,Javascript,Feature Selection,Arcgis Js Api,当我单击所选功能时。我想在文本框中显示它的区域 else if(which == "Froom"){ var frm = (id).toString(); frm = frm.replace("Froom", ""); query.where = "Room_No='" + frm + "'"; console.info(query.where); query.returnGe

当我单击所选功能时。我想在文本框中显示它的区域

else if(which == "Froom"){
            var frm = (id).toString();
            frm = frm.replace("Froom", "");
            query.where = "Room_No='" + frm + "'";
            console.info(query.where);
            query.returnGeometry = true;
            layerR.selectFeatures(query, FeatureLayer.SELECTION_NEW, function (features) {
              thePoly = features[0].geometry;
              theExtent = thePoly.getExtent().expand(2); //Zoom out slightly from the polygon's extent
              map.setExtent(theExtent);

            });
var node = Dom.byId('areainacre');
                 On(layerR, 'click', function (e) {
      node.value = e.graphic.attributes.Area_Acres;
       });
          }

        }`

您可以直接连接要素层上的单击事件,并在其成功处理程序中,将值附加到文本框中-

下面是它的工作代码-

注意-根据GIS图层更改字段名称


要素图层-将结果显示为悬停的信息窗口
html,body,#mapDiv{
填充:0;
保证金:0;
身高:100%;
}
#mapDiv{
位置:相对位置;
边缘顶部:30px;
}
#信息{
背景:#fff;
盒影:0 0 5px#888;
左:1米;
填充:0.5em;
位置:绝对位置;
顶部:1米;
z指数:40;
}
变量映射,对话框;
要求([
“esri/map”、“esri/layers/FeatureLayer”,
“esri/symbols/SimpleFillSymbol”、“esri/symbols/SimpleLineSymbol”,
“esri/渲染器/简单渲染器”、“esri/图形”、“esri/lang”,
“esri/颜色”、“dojo/编号”、“dojo/dom样式”,
“dijit/TooltipDialog”、“dijit/popup”、“dojo/parser”、“dijit/form/TextBox”,
“dijit/registry”、“dojo/domReady!”
],功能(
地图,特征层,
SimpleFillSymbol,SimpleLineSymbol,
SimpleRenderer、Graphic、esriLang、,
颜色、数字、样式、,
工具提示对话框,弹出窗口,
解析器、文本框、注册表
) {
parser.parse();
map=新映射(“mapDiv”{
基本地图:“街道”,
中间:[-80.94,33.646],
缩放:8,
滑块:false
});
var Southcarolincounties=新功能层(“https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/3", {
模式:FeatureLayer.mode\u快照,
外场:[“名称”、“POP2000”、“POP2007”、“POP000_SQMI”、“POP07_SQMI”]
});
setDefinitionExpression(“州名称=‘南卡罗来纳’”);
var symbol=新的SimpleFillSymbol(
SimpleFillSymbol.STYLE\u实体,
新单纯形符号(
SimpleLineSymbol.STYLE_SOLID,
新颜色([255255,0.35]),
1.
),
新颜色([125125,0.35])
);
setRenderer(新的SimpleRenderer(符号));
addLayer地图(南卡罗来纳州);
map.infoWindow.resize(245125);
dialog=新建工具提示对话框({
id:“工具提示对话框”,
样式:“位置:绝对;宽度:250px;字体:标准10pt Helvetica;z索引:100”
});
dialog.startup();
var highlightSymbol=新的SimpleFillSymbol(
SimpleFillSymbol.STYLE\u实体,
新单纯形符号(
SimpleLineSymbol.STYLE_SOLID,
新颜色([255,0,0]),3
),
新颜色([125125,0.35])
);
//当鼠标离开高亮显示图形时关闭对话框
map.on(“加载”,函数(){
map.graphics.enableMouseEvents();
//打开(“鼠标出”,关闭对话框);
});
//侦听onMouseOver事件何时在CountiesGraphicsSlayer上触发
//激发后,使用event.graphic中的几何图形创建一个新图形,并将其添加到“地图图形”层
南卡罗来纳州。在(“点击”按钮上,功能(evt){
closeDialog();
//在此处更新值
var container=registry.byId(“AreaInCare”);
container.set(“value”,evt.graphic.attributes.NAME);
var t=“${NAME}
2000人口:${POP2000:NumberFormat}
” +“每平方米2000人口:${POP00_SQMI:NumberFormat}
” +“2007年人口:${POP2007:NumberFormat}
” +“2007年每平方米人口:${POP07_SQMI:NumberFormat}”; var内容=esriLang.substitute(evt.graphic.attributes,t); var highlightGraphic=新图形(evt.Graphic.geometry,highlightSymbol); map.graphics.add(highlightGraphic); 对话框.setContent(content); 设置(dialog.domNode,“不透明度”,0.85); dijit.open({ 弹出:对话框, x:evt.pageX, y:evt.pageY }); }); 函数closeDialog(){ map.graphics.clear(); dijitPopup.close(对话框); } }); 已单击功能的名称为:- 点击南卡罗来纳州的一个县以获取更多信息。
您有一个id为“AreaInCare”的div/容器。。每当单击某个要素时,您都希望在其中显示“Area_Acres”属性值。。正确?否则如果(which==“Froom”){var fcpt=(id).toString();fcpt=fcpt.replace(“Froom”);query.where=“Cpt_No=”+fcpt+””;console.info(query.where);query.returnGeometry=true;layerC.selectFeatures(query,FeatureLayer.SELECTION\u NEW,function(features){thePoly=features[0]。几何;theExtent=thePoly.getExtent().expand(2);map.setExtent(theExtent);layerC.on(“单击”,函数(evt){var cpt_area=registry.byId(“area”);cpt_area.set(“值”,evt.graphic.attributes.area_Acres);}})同样的问题,它不显示值。我尝试过当从列表中选择功能时,它将显示值。但是相同的设置如何创建“区域”文本框..在此处添加代码..因为“注册表”当您使用dojo创建控件时使用…功能层bcoz的单击事件是否也会出现问题…这是我们推荐的工作示例,以便您可以立即修复。。