带有多个要素图层的ESRI ArcGIS TimeSlider问题(使用ArcGIS API for WPF)

时间:2013-10-29 06:56:02

标签: wpf arcgis esri

我正在使用ArcGIS API for WPF作为我的地图应用程序,我在此地图应用程序中的目标是显示时间感知的featurelayers,然后使用TimeSlider(ESRI TimeSlider)来更改图层的时间范围。我正在使用ESRI提供的以下两层。

http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/Since_1970/MapServer/0

http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Hurricanes/NOAA_Tracks_1851_2007/MapServer/0

我正在使用ESRI TimeSlider。

 <esri:TimeSlider x:Name="GTTimeSlider" Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="5" 
                        TimeMode="TimeExtent"
                        MinimumValue="{Binding LayerTimeExtentStart,Mode=TwoWay}" 
                        MaximumValue="{Binding LayerTimeExtentEnd,Mode=TwoWay}" 
                        Value="{Binding LayerTimeExtent,Mode=TwoWay}"
                        Intervals="{Binding LayerTimeIntervals, Mode=OneTime}" BorderBrush="White"                    Background="{x:Null}" >

        </esri:TimeSlider> 

LayerTimeExtent的ViewModel中设置了属性LayerTimeExtentEndLayerTimeExtentStartTimeSlider。这些值是根据我在上面提到的要素图层的TimeExtent时初始化的。使用DataBinding我已使用以下命令将这些属性绑定到BaseMap:

    Binding myBinding = new Binding("LayerTimeExtent");
    myBinding.Source = this;
    map.SetBinding(Map.TimeExtentProperty, myBinding);

当我将两个图层同时添加到地图时会出现问题。虽然两个图层都初始化了自己的TimeSliders,但在一个图层对话框中更改TimeSlider的值会更改另一个图层上的TimeExtent值以及当时在地图上的TimeExtentProperty和地图{{} 1}}绑定到TimeSlider的值。这个问题有解决方法吗?

以下是TimeSlider视图的截图以及底图上添加的图层。

enter image description here

0 个答案:

没有答案