我正在使用在 Microsoft Surface 2.0(现在称为 PixelSense)上运行的交互式地图(使用 ArcGIS API for WPF)构建一个应用程序。在我的应用程序中,我有一个库容器,其中包含用户可以拖出并放置在地图上某个位置的元素。我通过在地图上的元素层中放置一个散点图(包围整个地图)来实现这一点,如下所示:
<esri:ElementLayer>
<esri:ElementLayer.Children>
<local:DragDropScatterView esri:ElementLayer.Envelope="-19949487.9573175,-20100080.1372686,20125528.7282505,20131479.5822274" x:Name="ScatterLayer" Background="Transparent" Height="Auto" Width="Auto" ItemContainerStyle="{StaticResource ScatterItemStyle}" />
</esri:ElementLayer.Children>
</esri:ElementLayer>
当用户放大或缩小地图时会出现问题,导致已放置在散点视图中的元素完全改变其位置。
为了解决这个问题,我尝试将 scatterview 放在 viewbox 内。当我这样做时,元素在地图中保持正确的位置,但现在出现了一个新问题:当我放大和缩小地图时,元素会放大和缩小(例如,当地图全幅显示时,元素几乎不可见),而首选行为是当用户在地图上放大或缩小时元素保持其大小(例如,像谷歌地图中的标记)。
有人对我如何解决这个问题有建议吗?
干杯