如何保存和附加到一个地图层

本文关键字:地图 图层 一个 何保存 保存 | 更新日期: 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;