前两天对项目进行完善,需要对发布的地图进行在线编辑,于是就将所有数据从filegeodatabase中移动到arcsde数据库中,也包扩创建的网络数据集,当一切准备好发布时,勾选FeatureAccess竟然发布失败,查看日志才知道错误的原因。原来自己百密一疏,由于地图要实现网络分析,于是在地图中新建了路径,而其创建的障碍点之类的都不是存储在arcsde中,才导致错误发生。最后果断将网络数据集和和其他数据分开发布,发布成功。。。。。
这边虽然服务发成功,可是那边又出问题了。运行程序发现EditorWidgit控件的编辑模版无法显示,代码是按照事例代码写的
1 <esri:Map Name="guanliMap" Extent="12788656.57,2983368.77,12804278.37,2975910.15" IsLogoVisible="False" Foreground="{x:Null}" WrapAround="True" Grid.ColumnSpan="2" Grid.RowSpan="3" AllowDrop="False" ExtentChanged="guanliMap_ExtentChanged" MouseMove="guanliMap_MouseMove"> 2 3 <esri:Map.Layers > 4 <Google:GoogleClass x:Name="googlemap"/> 5 <esri:ArcGISDynamicMapServiceLayer ID="dongtaimap" 6 Url="http://localhost/arcgis/rest/services/ganzhou/MapServer" /> 7 <esri:FeatureLayer ID="BGFD" Url="http://localhost/arcgis/rest/services/ganzhou/FeatureServer/0" DisableClientCaching="True" Mode="OnDemand" OutFields="*" AutoSave="False"> 8 9 </esri:FeatureLayer> 10 <esri:FeatureLayer ID="YLWS" Url="http://localhost/arcgis/rest/services/ganzhou/FeatureServer/2" DisableClientCaching="True" Mode="OnDemand" OutFields="*" AutoSave="False"> 11 12 </esri:FeatureLayer> 13 <esri:FeatureLayer ID="GYSY" Url="http://localhost/arcgis/rest/services/ganzhou/FeatureServer/3" DisableClientCaching="True" Mode="OnDemand" OutFields="*" AutoSave="False"> 14 15 </esri:FeatureLayer> 16 <esri:FeatureLayer ID="DZJG" Url="http://localhost/arcgis/rest/services/ganzhou/FeatureServer/5" DisableClientCaching="True" Mode="OnDemand" OutFields="*" AutoSave="False"> 17 18 </esri:FeatureLayer> 19 <esri:FeatureLayer ID="JRBX" Url="http://localhost/arcgis/rest/services/ganzhou/FeatureServer/7" DisableClientCaching="True" Mode="OnDemand" OutFields="*" AutoSave="False"> 20 21 </esri:FeatureLayer> 22 <esri:FeatureLayer ID="GZKJ" Url="http://localhost/arcgis/rest/services/ganzhou/FeatureServer/8" DisableClientCaching="True" Mode="OnDemand" OutFields="*" AutoSave="False"> 23 24 </esri:FeatureLayer> 25 <esri:FeatureLayer ID="JYKY" Url="http://localhost/arcgis/rest/services/ganzhou/FeatureServer/9" DisableClientCaching="True" Mode="OnDemand" OutFields="*" AutoSave="False"> 26 27 </esri:FeatureLayer> 28 <esri:FeatureLayer ID="GKQY" Url="http://localhost/arcgis/rest/services/ganzhou/FeatureServer/10" DisableClientCaching="True" Mode="OnDemand" OutFields="*" AutoSave="False"> 29 30 </esri:FeatureLayer> 31 32 <esri:GraphicsLayer ID="DistanceLayer"/> 33 </esri:Map.Layers> 34 <i:Interaction.Behaviors> 35 <esriBehaviors:ShowCoordinatesBehavior FormatString="{}{0:0.00} , {1:0.00}" x:Name="XYCon" /> 36 </i:Interaction.Behaviors> 37 </esri:Map> 38 39 40 <esri:EditorWidget x:Name="MyEditorWidget" 41 Map="{Binding ElementName=guanliMap}" 42 Width="300" 43 AutoSelect="False" AlwaysDisplayDefaultTemplates="True" 44 GeometryServiceUrl="http://localhost/arcgis/rest/services/Geometry/GeometryServer" 45 ShowAttributesOnAdd="True" 46 Loaded="MyEditorWidget_Loaded"> 47 <esri:EditorWidget.Background> 48 <LinearGradientBrush> 49 <GradientStop Color="#FFFDFDFD" Offset="0" /> 50 <GradientStop Color="#FFEFF1F3" Offset="0.5" /> 51 <GradientStop Color="#FF60A9F2" Offset="1" /> 52 </LinearGradientBrush> 53 </esri:EditorWidget.Background> 54 </esri:EditorWidget>
1 private void MyEditorWidget_Loaded(object sender, RoutedEventArgs e) 2 { 3 4 5 string[] myLayerIDs = { "宾馆饭店_Point", "医疗卫生_Point", "公用事业_Point", "党政机关_Point", "金融保险_Point", "赣州科技_Point", "教育科研_Point", "工矿企业_Point" }; 6 MyEditorWidget.LayerIDs = myLayerIDs; 7 8 }
而结果却是:
编辑模版在哪里?
费了九牛二虎之力也找不到原因,在无意间将MyEditorWidget_Load事件里的代码注释掉,编辑模版却奇迹般的出现了,
这是什么原因?为什么我的EditorWidget不用添加 LayerIds属性,还有就是LayerIds为什么不能写在前台了,求高手指点