1
我试图将地图上的图钉保存到应用程序设置中,以便在应用程序关闭后加载它们,但我不确定如何从存储中检索变量。有谁知道如何在保存后将图钉重新加载到地图上?如何从应用程序设置中检索GeoCoordinate类型的变量? Windows Phone
这是我到目前为止已经试过,我保存图钉独立存储它们添加到地图中OnNavigatedTo
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (NavigationContext.QueryString.ContainsKey("GeoLat") && NavigationContext.QueryString.ContainsKey("GeoLong") && NavigationContext.QueryString.ContainsKey("pName"))
{
var latitude = Convert.ToDouble(NavigationContext.QueryString["GeoLat"]);
var longtitude = Convert.ToDouble(NavigationContext.QueryString["GeoLong"]);
var MyGeoPosition = new GeoCoordinate(latitude, longtitude);
var pushPinName = NavigationContext.QueryString["pName"];
DrawPushPin(MyGeoPosition, pushPinName);
appSettings.Add("pushPin", MyGeoPosition);
}
base.OnNavigatedTo(e);
}
后,然后我尝试在页面加载像检索图钉这个,但是下面的错误被抛出。我明白MyGeoPosition
只能在OnNavigatedTo内看到,所以我不能引用它,是否有其他方法来检索它? :
private void PhoneApplicationPage_Loaded_1(object sender, RoutedEventArgs e)
{
MyMap.MapElements = (var)appSettings[MyGeoPosition];
}
Error 1 The contextual keyword 'var' may only appear within a local variable declaratio
Error 2 The name 'MyGeoPosition' does not exist in the current context
'MyGeoPosition不会在当前context'存在的问题是MyGeoPosition仅可见的OnNavigatedTo method.How我让它全球化,所以它可以在任何地方在课堂上使用? –
在特定函数范围外定义MyGeoPosition,并且该类将在该类中的任何位置访问。 – robwirving
@BrianJ public static GeoCoordinate MyGeoPosition = new GeoCoordinate(0,0);在你的App.xaml.cs文件中定义。 – Jaihind