WP8地图叠加超出范围错误
WP8 map overlay out of range error
我有以下问题。我编写此函数是为了在 Windows Phone 8.
的 Silverlight C# 应用程序上将一些图像作为图标添加到我的地图
private void SpecialMapIcons()
{
MapLayer layer = new MapLayer();
List<string[]> SpecialIcons = new List<string[]>();
SpecialIcons.Add(new string[] { "icon0.png", "52.5", "13.5" });
SpecialIcons.Add(new string[] { "icon1.png", "52.4", "13.4" });
for (int i = 0; i < SpecialIcons.Count; i++)
{
string[] Icons = SpecialIcons[i];
MapOverlay overlay = new MapOverlay()
{
GeoCoordinate = new GeoCoordinate(Convert.ToDouble(Icons[1]), Convert.ToDouble(Icons[2])),
Content = new Image
{
Source = new BitmapImage(new Uri("/Assets/icon/" + Icons[0], UriKind.Relative)),
Width = 50,
Height = 50,
VerticalAlignment = VerticalAlignment.Center,
HorizontalAlignment = HorizontalAlignment.Center
}
};
layer.Add(overlay);
}
Map.Layers.Add(layer);
}
在模拟器上它工作得很好,但在设备上我总是遇到超出范围的异常,在我创建叠加层的行上的扩展值为 -90 到 90:
MapOverlay overlay = new MapOverlay()
我不知道为什么会这样,也不知道这个值是什么意思。有没有人提示如何解决这个问题?
好的,我发现了问题,我不知道为什么,但是模拟器上的 silvelight 可以使用
Convert.ToDouble()
功能正常但设备没有。有:
float.Parse(, System.Globalization.CultureInfo.InvariantCulture)
必须使用函数。
我有以下问题。我编写此函数是为了在 Windows Phone 8.
的 Silverlight C# 应用程序上将一些图像作为图标添加到我的地图private void SpecialMapIcons()
{
MapLayer layer = new MapLayer();
List<string[]> SpecialIcons = new List<string[]>();
SpecialIcons.Add(new string[] { "icon0.png", "52.5", "13.5" });
SpecialIcons.Add(new string[] { "icon1.png", "52.4", "13.4" });
for (int i = 0; i < SpecialIcons.Count; i++)
{
string[] Icons = SpecialIcons[i];
MapOverlay overlay = new MapOverlay()
{
GeoCoordinate = new GeoCoordinate(Convert.ToDouble(Icons[1]), Convert.ToDouble(Icons[2])),
Content = new Image
{
Source = new BitmapImage(new Uri("/Assets/icon/" + Icons[0], UriKind.Relative)),
Width = 50,
Height = 50,
VerticalAlignment = VerticalAlignment.Center,
HorizontalAlignment = HorizontalAlignment.Center
}
};
layer.Add(overlay);
}
Map.Layers.Add(layer);
}
在模拟器上它工作得很好,但在设备上我总是遇到超出范围的异常,在我创建叠加层的行上的扩展值为 -90 到 90:
MapOverlay overlay = new MapOverlay()
我不知道为什么会这样,也不知道这个值是什么意思。有没有人提示如何解决这个问题?
好的,我发现了问题,我不知道为什么,但是模拟器上的 silvelight 可以使用
Convert.ToDouble()
功能正常但设备没有。有:
float.Parse(, System.Globalization.CultureInfo.InvariantCulture)
必须使用函数。