当影响经度、纬度到位置时,输入字符串的格式不正确

Input string was not in a correct format when affecting longitude,lattitude to a Location

我正在按照本教程 enter link description here 根据此 Web 服务的经度和纬度向地图中的每个位置添加图标:(json 格式)

{
success: 1,
total: 2,
locals: [
{
id_local: "59",
local_longi: "20",
local_latit: "25894"
},
{
id_local: "60",
local_longi: "10.33699",
local_latit: "25.997745"
}
]
}

这是我的代码:

private async void geolocator_PositionChanged(Geolocator sender, PositionChangedEventArgs args)
        {
            await
                        this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, new DispatchedHandler(
async () =>
                        {
                    UriS = "MyURL";
                    var http = new HttpClient();
                   http.MaxResponseContentBufferSize =Int32.MaxValue;
                   var response = await http.GetStringAsync(UriS);
                   var rootObject = JsonConvert.DeserializeObject<NvBarberry.Models.RootObject>(response);

                 for(int i=0;i< int.Parse(rootObject.total); i++)
                   {
                  //Get the current location
                   Location[] location = new Location[2];
                   location[i] = new Location(double.Parse(rootObject.locals[i].local_latit), double.Parse(rootObject.locals[i].local_longi));  //I get the error here

                    //Update the position of the GPS pushpin
                    MapLayer.SetPosition(GpsIcon, location[i]);

                    //Set the radius of the Accuracy Circle
               GpsIcon.SetRadius(args.Position.Coordinate.Accuracy);                 

                            //Make GPS pushpin visible
                            GpsIcon.Visibility = Windows.UI.Xaml.Visibility.Visible;

                            //Update the map view to the current GPS location
                            MyMap.SetView(location[i], 17);

                            }
                        }));
        }

我收到这个错误:

Input string was not in a correct format

在这一行:

location[i] = new Location(double.Parse(rootObject.locals[i].local_latit), double.Parse(rootObject.locals[i].local_longi));

如果这有帮助,这是调试的结果:

所以请问我怎样才能更正我的代码,根据它的位置放置图标 感谢帮助

调试并检查rootObject.locals[i].local_latitrootObject.locals[i].local_longi的错误。如果它们最终为 null 而不是声明的字符串,则会引发此错误。

我在 MSDN 上做了一些挖掘。试试这个:

location[i] = new Location(
    double.Parse(
        rootObject.locals[i].local_latit,
        System.Globalization.NumberStyles.Float
    ), 
    double.Parse(
        rootObject.locals[i].local_longi,
        System.Globalization.NumberStyles.Float
    )
);

这是 MSDN link:https://msdn.microsoft.com/en-us/library/system.globalization.numberstyles(v=vs.110).aspx