ArcGIS API for JS 要素编辑过程遇到的问题

半生瓜H 2016-09-26 03:56:44
第48行报错SyntaxError: missing ; before statement
'fieldName':field.name,
找了半天都没找到错在哪~
require(["dojo/parser","dojo/_base/array","dijit/registry","dojo/query",
"esri/map","esri/dijit/Editor","esri/dijit/AttributeInspector",
"esri/layers/ArcGISTiledMapServiceLayer","esri/layers/FeatureLayer",
"dijit/form/CheckBox","dojo/keys","dijit/ToolbarSeparator",
"dijit/layout/BorderContainer","dijit/layout/ContentPane","dojo/domReady!"],
function(parser,array,registry,query,Map,Editor,AttributeInspector,ArcGISTiledMapServiceLayer,FeatureLayer,CheckBox,keys,ToolbarSeparator) {
parser.parse();
var map=new Map("map",{center:[-117.535,34.28],zoom:12,logon:false});
var topo=new ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer");

map.addLayer(topo);
map.on("layers-add-result",initEditor);
var baseUrl="http://sampleserver6.arcgisonline.com/arcgis/rest/servives/Wildfire/FeatureServer";

//增加三个准备编辑要素的图层
var pointsOfInterest=new FeatureLayer(baseUrl+"0",
{
mode:FeatureLayer.MODE_ONDEMAND,
outFields:['*']
});

var WildfireLine=new FeatureLayer(baseUrl+"1",
{
mode:FeatureLayer.MODE_ONDEMAND,
outFields:['*']
});
var evacuationPerimeter=new FeatureLayer(baseUrl+"2",
{
mode:FeatureLayer.MODE_ONDEMAND,
outFields:['*']
});
map.addLayers([pointsOfInterest,WildfireLine,evacuationPerimeter]);
});

//initEditor函数来初始化Editor小部件
function initEditor(evt)
{
//构造小部件要求包含的layer和field信息的layerInfos参数
var layers=array.map(evt.layers,function(result)
{
var fieldInfos=array.map(result.layer.fields,function(field)
{
if(field.name==='description')
{
//使用文本区域标签显示description字段
return
{
'fieldName':field.name,
'label':'Details',
stringFieldOption:AttributeInspector.STRING_FIELD_OPTION_TEXTAREA
}
}else{
return
{
'fieldName':field.name,
'label':field.alias
}
}
});
return
{
featureLayer:result.layer,
'fieldInfos':fieldInfos
}
});

var settings={
map:map;
enableUndoRedo:true,
layerInfos:layers,
toolbarVisible:true,
createOptions:
{
polygonDrawTools:[Editor.CREATE_TOOL_FREEHANE_POLYGON,
Editor.CREATE_TOOL_AUTOCOMPLEE]
},
toolbarOptions:
{
reshapeVisible:true,
cutVisible:true,
mergeVisible:true
}
};

var params={setting:setting};
editorWidget=new Editor(params,'editorDiv');//添加编辑控件!
//使用Ctrl键作为捕捉工具的辅助键
map.enableSnapping({snapKey:keys.copyKey});
//创建一个多选框,让用户选择使用或者不使用捕捉功能
var checkBox=new CheckBox({
name:"chkSnapping",
checked:true,
label:"Snapping",
id:"chkSnapping",
showLabel:"false",
title:"捕捉",
onchange: function(evt) {
if(this.checked){
map.enableSnapping({snapKey:keys.copyKey});
}
else{
map.disableSnapping();
}
}
});

//将捕捉多选框加入到小部件当中
var myToolbarElement=query(".esriDrawingToolbar",editorWidget.domNode)[0];
var myToolbar=registry.byId(myToolbarElement.id);
myToolbar.addChild(new ToolbarSeparator());//分割线
myToolbar.addChild(checkBox);
editorWidget.startup();
//监听TemplatePickers小部件的改变选择事件
//当选择了某一模板则使捕捉多选框不可选择
var templatePickerElement=query(".esriTemplatePicker",editorWidget.domNode)[0];
var templatePicker=registry.byId(templatePickerElement.id);
templatePicker.on("selection-change",function()
{
if(templatePicker.getSelected())
{
registry.byId('chkSnapping').set("disabled",true);
}
else
{
registry.buId('chkSnapping').set("disabled",false);
}
});
map.infoWindow.resize(325,200);
}
...全文
339 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
半生瓜H 2016-09-26
  • 打赏
  • 举报
回复
求大神 快要吐了

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧