我在必应地图上生成地图制作者。如果我使用XAML中添加的设计时地图图层:
<bm:Map.Children>
<!-- Data Layer-->
<bm:MapLayer Name="DataLayer"/>
...效果很好。但是,我决定是否要在地图上放置多个不同的标记集,我应该将每个标记集放在其自己的地图图层上。所以我添加了这样的代码:
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);
}
. . .
但是请注意,执行此操作时图钉如何通过弹出窗口显示(仅当我动态创建MapLayer [s]时):
将后续集合添加到其自己的MapLayer是否是一个坏主意(我应该将所有内容都添加到“ DataLayer”中)吗?
如果没有,如何在不使图钉通过弹出窗口显示的情况下使用多个MapLayers?
是的,Marvin Smit的建议有效,即:
if (Cre8DynamicMapLayer)
{
MapLayer newLayer = new MapLayer();
//photraxMap.Children.Add(newLayer);
photraxMap.Children.Insert(0, newLayer);
AddPushpin(loc, stuff, newLayer);
}
他的兄弟里克(Rik)可能是更好的运球手,但我怀疑里克(Rik)能否摆脱上篮状态。
您正在将用于创建的图钉的层堆叠在弹出层的顶部。
通过更改将层添加到堆栈中的顺序,您可以拥有所需的行为。
而不是
photraxMap.Children.Add(newLayer);
使用
photraxMap.Children.Insert(0, newLayer);
这将导致将新层插入到层的“底部”而不是“顶层”(如果您认为“顶层”层离您最近)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句