我在必应地图上制作地图。如果我使用设计时映射层,它是在XAML中添加的:
<bm:Map.Children>
<!-- Data Layer-->
<bm:MapLayer Name="DataLayer"/>...it工作得很好。然而,我决定如果我在地图上划出多个不同的标记,我应该把每一组放在它自己的地图层上。所以我添加了这样的代码:
private async void Gener8MapMarkers(List<PhotraxBaseData> _pbd, bool Cre8DynamicMapLayer)
{
. . .
if (Cre8DynamicMapLayer)
{
MapLayer newLayer = new MapLayer();
photraxMap.Children.Add(newLayer);
AddPushpin(loc, stuff, newLayer);
}
else
{
AddPushpin(loc, stuff, DataLayer);
}
. . .但是,请注意当我这样做时,图钉是如何通过弹出窗口显示的(只有在我动态创建MapLayers的情况下):

将后续的集合添加到自己的MapLayer中是个坏主意(我应该将所有内容添加到“DataLayer”中吗)?
如果没有,如何使用多个MapLayers而不通过弹出窗口显示图钉?
更新
是的,马文·施密特的建议有效,即:
if (Cre8DynamicMapLayer)
{
MapLayer newLayer = new MapLayer();
//photraxMap.Children.Add(newLayer);
photraxMap.Children.Insert(0, newLayer);
AddPushpin(loc, stuff, newLayer);
}他的弟弟里克可能是一个更好的流氓,但我怀疑里克是否能够规划他的方法,以摆脱一个上篮。
发布于 2014-11-02 12:49:03
在弹出层的顶部,您正在为您创建的引脚堆叠图层。
通过更改顺序,您可以将该层添加到堆栈中,从而实现您想要的行为。
而不是
photraxMap.Children.Add(newLayer);使用
photraxMap.Children.Insert(0, newLayer);这将导致新的层插入到层的“底部”,而不是“顶部”(如果您认为‘顶层’层离您最近)
https://stackoverflow.com/questions/26688136
复制相似问题