如何解决如何从 Bing 地图中删除所有现有图钉?
几年前使用不同版本/风格的 Bing 地图,我提出了同样的问题并最终自行发布了答案,here。
但这不适用于我使用 WPF 控件的 Winforms 应用程序。使用此代码:
var mapLayerChildren = from c in DataLayer.Children select c;
var kinderGarten = mapLayerChildren.ToArray();
for (int i = 0; i < kinderGarten.Count(); i++)
{
if (kinderGarten[i] is pushpin)
{
DataLayer.Children.Remove(kinderGarten[i]);
}
}
...DataLayer 无法识别。
当我尝试用“userControl11.myMap.Children”替换“DataLayer”时,我得到了这个:
我需要做什么?
解决方法
这取决于您如何添加图钉。您需要从添加它们的同一个 Children
集合中删除它们。
假设您已将图钉直接添加到地图的 Children
集合中,那么您可以像这样找到所有图钉并删除它们:
var map = this.userControl11.myMap;
map.Children.OfType<Pushpin>().ToList().ForEach(pin => {
map.Children.Remove(pin);
});
或者删除地图的所有子项,包括图钉、形状、图层等,您可以使用:
var map = this.userControl11.myMap;
map.Children.Clear();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。