Windows Phone:在地图上显示GeoCoordinate准确度

时间:2013-10-03 12:27:21

标签: c# map windows-phone-8 geolocation

我目前正在地图上成功显示我的位置。我有一个我的位置的地理位置,从中我可以得到MyGeoPosition.Coordinate.Accuracy,以米为单位。我想像大多数移动地图应用程序一样在地图上显示这一点,以提供位置精度的质量上下文。 我想知道的是显示它的最佳方式。我打算绘制一个椭圆,但我不知道如何根据地图的meteres值和缩放级别计算椭圆的宽度和高度。 任何想法都将不胜感激。

2 个答案:

答案 0 :(得分:4)

看看这个"Retrieving current location"

double myAccuracy = ...;
GeoCoordinate myCoordinate = ...;

double metersPerPixels = (Math.Cos(myCoordinate.Latitude * Math.PI / 180) * 2 * Math.PI * 6378137) / (256 * Math.Pow(2, myMap.ZoomLevel));
double radius = myAccuracy / metersPerPixels;

Ellipse ellipse = new Ellipse();
ellipse.Width = radius * 2;
ellipse.Height = radius * 2;
ellipse.Fill = new SolidColorBrush(Color.FromArgb(75, 200, 0, 0));

答案 1 :(得分:0)

嗯...不确定如果这个回复是您想要的,但是: 为什么不画一个彩色圆圈,改变颜色(红 - 黄 - 绿)并根据米的范围改变颜色,例如,如果精度小于100色,100到500黄色,超过500红色。