如何保存和附加到一个地图层
本文关键字:地图 图层 一个 何保存 保存 | 更新日期: 2023-09-27 17:54:59
我有一个绘制图钉到地图的方法,它工作得很好,但我需要将第二个图钉附加到第一层。我猜这将涉及保存第一层,以便以后操作。有没有人知道我该怎么做,因为我不太确定如何保存一个图层?
目前,DrawPushPin方法在应用程序中被调用了两次,所以第一次创建一个新图层,第二次创建相同的图层,但这不是理想的,因为我需要附加到第一个图层,而不是创建一个新的。
方法如下DrawPushPinCurrent(MyGeoPosition, pushPinName);
所示,下面是draw方法
private void DrawPushPin(GeoCoordinate MyGeoPosition,string pushPinName)
{
MapLayer layer1 = new MapLayer();
Pushpin pushpin1 = new Pushpin();
pushpin1.GeoCoordinate = MyGeoPosition;
pushpin1.Content = pushPinName;
MapOverlay overlay1 = new MapOverlay();
overlay1.Content = pushpin1;
overlay1.GeoCoordinate = MyGeoPosition;
layer1.Add(overlay1);
MyMap.Layers.Add(layer1);
MyMap.Center = MyGeoPosition;
MyMap.ZoomLevel = 15;
}
我要做的是将MapLayer移出方法并使它们成为全局的(在类级别)。然后我将创建另一个方法,像这样:
MapLayer layer1;
public MyClass()
{
layer1 = new MapLayer;
}
private void AppendPushpin(GeoCoordinate MyGeoPosition, string pushpinName)
{
Pushpin pushpin1 = new Pushpin();
pushpin1.GeoCoordinate = MyGeoPosition;
pushpin1.Content = pushPinName;
MapOverlay overlay1 = new MapOverlay();
overlay1.Content = pushpin1;
overlay1.GeoCoordinate = MyGeoPosition;
layer1.Add(overlay1);
}
*编辑在你的情况下,你需要在应用范围内存储变量,你会想要持久的MapLayer对象做这样的事情:
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["MapLayer"] = layer1;