我有一张地图和 15000 个图钉形式的点要添加到地图中。
我正在做的是,如果该点位于可见区域中,我将其添加到 MapLayer 并将图层添加到地图对象。
这工作正常,但平移不是那么顺利。
我尝试使用 IAsyncOperation 创建 MapLayer,但我们无法在 IAsyncOperation 中操作或创建 UIElement。
有没有办法在后台创建一个 Maplayer 并替换当前的 maplayer。
我有一张地图和 15000 个图钉形式的点要添加到地图中。
我正在做的是,如果该点位于可见区域中,我将其添加到 MapLayer 并将图层添加到地图对象。
这工作正常,但平移不是那么顺利。
我尝试使用 IAsyncOperation 创建 MapLayer,但我们无法在 IAsyncOperation 中操作或创建 UIElement。
有没有办法在后台创建一个 Maplayer 并替换当前的 maplayer。
您是否尝试过将 pin 集合绑定到 a MapItemsControl
?这应该提供您需要的 UI 虚拟化,以使滚动更流畅。
例子
XAML
<bm:Map Name="MainMapView" Credentials="{StaticResource BingMapsApiKey}" Margin="0">
<bm:MapItemsControl ItemsSource="{Binding MyPoints}" ItemTemplate="{StaticResource MyItemTemplate}" />
</bm:Map>
您的点集合在哪里MyPoints
,可在您的视图模型中访问