1

我正在为我的地图应用程序使用 ArcGIS API for WPF,我在此地图应用程序中的目标是显示时间感知要素图层,然后使用 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 中设置LayerTimeExtentEnd的。这些值是根据我在上面添加到地图时提到的要素图层的 TimeExtent 进行初始化的。使用 DataBinding,我使用以下方法将这些属性绑定到 BaseMap:LayerTimeExtentStartTimeSlider

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

当我将两个图层同时添加到地图时,就会出现问题。尽管两个图层都初始化了自己的 TimeSliders,但是更改TimeSlider一个图层对话框的TimeExtent值会更改另一图层上的值,并且此时两者都在地图上,并且地图TimeExtentProperty绑定到 的值TimeSlider。有解决这个问题的方法吗?

这是 TimeSlider 视图的屏幕截图以及添加到底图上的图层。

在此处输入图像描述

4

0 回答 0