我正在使用ArcGIS API for WPF作为我的地图应用程序,我在此地图应用程序中的目标是显示时间感知的featurelayers,然后使用TimeSlider(ESRI TimeSlider)来更改图层的时间范围。我正在使用ESRI提供的以下两层。
http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/Since_1970/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
,LayerTimeExtentStart
和TimeSlider
。这些值是根据我在上面提到的要素图层的TimeExtent时初始化的。使用DataBinding我已使用以下命令将这些属性绑定到BaseMap:
Binding myBinding = new Binding("LayerTimeExtent");
myBinding.Source = this;
map.SetBinding(Map.TimeExtentProperty, myBinding);
当我将两个图层同时添加到地图时会出现问题。虽然两个图层都初始化了自己的TimeSliders,但在一个图层对话框中更改TimeSlider
的值会更改另一个图层上的TimeExtent
值以及当时在地图上的TimeExtentProperty
和地图{{} 1}}绑定到TimeSlider
的值。这个问题有解决方法吗?
以下是TimeSlider视图的截图以及底图上添加的图层。