用于WPF的ArcGIS运行时 - 缺少程序集引用?

时间:2017-12-04 16:24:41

标签: c# wpf arcgis-runtime arcgis-runtime-net

我已安装ArcGIS Runtime SDK for .NET(100.1.0)

我从ArcGIS模板创建了一个WPF应用程序(应该带有所有必要的程序集引用......)。

我有一个" MapView" (我的XAML文件)包含我只想添加图层的地图。我用了the example from the API documentation。我的XAML如下:

<Page x:Class="WpfApplication1.Views.MapView"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
  xmlns:local="clr-namespace:WpfApplication1.Views"
  xmlns:esri="http://schemas.esri.com/arcgis/runtime/2013"
  mc:Ignorable="d" 
  d:DesignHeight="300" d:DesignWidth="300"
  Title="MapView">

<Grid>
    <Grid.Resources>
        <esri:SimpleLineSymbol x:Key="SLS" Color="Transparent" Width="1"/>
        <esri:SimpleLineSymbol x:Key="BlackSLS" Color="Black" Width="1"/>
    </Grid.Resources>
    <Grid>
        <esri:MapView x:Name="MyMapView" />                   
    </Grid>
</Grid>
</Page>

在代码后面,我在调用InitializeComponent()方法后执行以下操作:

LocalMapService localMapService = new LocalMapService(@"..\..\..\samples-data\maps\water-distribution-network.mpk");
await localMapService.StartAsync();

ArcGISDynamicMapServiceLayer arcGISDynamicMapServiceLayer = new 
ArcGISDynamicMapServiceLayer()
{
    ID = "arcGISDynamicMapServiceLayer",
    ServiceUri = localMapService.UrlMapService,
};

MyMapView.Map.Layers.Add(arcGISDynamicMapServiceLayer);

此时Visual Studio警告我&#34; Map不包含图层的定义[...]您是否缺少using指令或程序集引用?&#34;

如果我决定直接从XAML添加我的图层而不编写任何代码:

 <Page x:Class="WpfApplication1.Views.MapView"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
  xmlns:local="clr-namespace:WpfApplication1.Views"
  xmlns:esri="http://schemas.esri.com/arcgis/runtime/2013"
  mc:Ignorable="d" 
  d:DesignHeight="300" d:DesignWidth="300"
  Title="MapView">

<Grid>
    <Grid.Resources>
        <esri:SimpleLineSymbol x:Key="SLS" Color="Transparent" Width="1"/>
        <esri:SimpleLineSymbol x:Key="BlackSLS" Color="Black" Width="1"/>
    </Grid.Resources>
    <Grid>
        <esri:MapView x:Name="MyMapView">`enter code here`
            <esri:Map>
                <esri:ArcGISDynamicMapServiceLayer Url=... />
            </esri:Map>
        </esri:MapView>                         
    </Grid>
</Grid>
</Page>

设计师现在发出警告&#34;命名空间http://schemas.esri.com/arcgis/runtime/2013中没有名称ArcGISDynamicMapServiceLayer&#34;

我做错了什么?即使我使用SDK的WPF模板,我也不会加载API的所有相应组件......我很困惑。

我在MS Windows Server 2012上运行Visual Studio 2015 Update 2(如果这有任何意义!)

1 个答案:

答案 0 :(得分:2)

您使用的代码适用于ArcGIS Runtime for .NET的10.2版本。您可以在100.1版本中看到https://developers.arcgis.com/net/latest/wpf/guide/local-server.htm如何使用本地服务器。