更改缩放级别时,根据C#VS2013 WPF中的OpenStreetMap在地图中添加或删除图钉

更改缩放级别时,根据C#VS2013 WPF中的OpenStreetMap在地图中添加或删除图钉,c#,wpf,visual-studio,xaml,C#,Wpf,Visual Studio,Xaml,我想在基于C#VS2013 WPF的OpenStreetMap的地图上进行图钉聚类 我使用的是XAML映射控制库()和图钉集群库()。lib可以进行图钉聚类,我可以将它们添加到地图中 但是,我想在贴图的targetzoomlevel大于阈值(如12)时将图钉添加到贴图中 当我缩小并且目标缩放级别小于12时,我需要移除所有图钉并用热图图像替换它们 如何在缩放级别更改时添加或删除图钉 我曾尝试将图钉添加到图层中 map.ViewportChanged+=(s,a)=> { foreach(myD

我想在基于C#VS2013 WPF的OpenStreetMap的地图上进行图钉聚类

我使用的是XAML映射控制库()和图钉集群库()。lib可以进行图钉聚类,我可以将它们添加到地图中

但是,我想在贴图的targetzoomlevel大于阈值(如12)时将图钉添加到贴图中

当我缩小并且目标缩放级别小于12时,我需要移除所有图钉并用热图图像替换它们

如何在缩放级别更改时添加或删除图钉

我曾尝试将图钉添加到图层中


map.ViewportChanged+=(s,a)=>
{
foreach(myData中的var实体)
{
myPushpinLayer.Children.Add(实体);
}
}

但是,地图上没有显示任何点。

在地图类中处理ViewportChanged事件并检查ZoomLevel属性。@Clemens,您的意思是在引发ViewportChanged事件时,设置一个运行Cluster()的条件?例如,设置_map.targetzoomlevel>12?但是,当我缩小时如何移除图钉?是的,但是可能会经常调用图钉(例如,在缩放级别或中心属性的动画更改期间),因此您可能需要一种机制来延迟处理。例如,您可以启动/停止/重新启动计时器。@Clemens,当我运行“\u map.Children.Clear()”时,所有地图分幅也被清除。地图是空白的。我想保留它们,只删除图钉。将图钉放在单独的地图面板中(您可以将其添加到地图中一次)。更好的方法是使用MapItemsControl。有关如何将项目从视图模型添加到MapItemsControl的信息,请参见示例应用程序。