C# Windows Phone:在地图上显示地理坐标精度
我当前正在地图上成功显示我的位置。我有一个我所在位置的地理位置,从中我可以得到MyGeoPosition.Coordinate.Accurance,单位为米。我想在地图上显示这一点,就像大多数移动地图应用程序一样,为位置精度的质量提供上下文。 我想知道的是展示这个的最好方式。我本来打算画一个椭圆,但我不知道如何根据地图的米数值和缩放级别来计算椭圆的宽度和高度。C# Windows Phone:在地图上显示地理坐标精度,c#,map,windows-phone-8,geolocation,C#,Map,Windows Phone 8,Geolocation,我当前正在地图上成功显示我的位置。我有一个我所在位置的地理位置,从中我可以得到MyGeoPosition.Coordinate.Accurance,单位为米。我想在地图上显示这一点,就像大多数移动地图应用程序一样,为位置精度的质量提供上下文。 我想知道的是展示这个的最好方式。我本来打算画一个椭圆,但我不知道如何根据地图的米数值和缩放级别来计算椭圆的宽度和高度。 任何想法都将不胜感激。嗯。。。不确定此答复是否是您想要的,但是: 为什么不画一个彩色的圆圈,改变颜色(红黄绿)并根据米的范围改变颜色,例
任何想法都将不胜感激。嗯。。。不确定此答复是否是您想要的,但是:
为什么不画一个彩色的圆圈,改变颜色(红黄绿)并根据米的范围改变颜色,例如,如果精度小于100色格伦,从100到500黄,超过500红。Mmmm。。。不确定此答复是否是您想要的,但是: 为什么不画一个彩色的圆圈,改变颜色(红黄绿)并根据米的范围改变颜色,例如,如果精度小于100色格伦,从100到500黄,超过500红。看看这个 看看这个
这是一个选项,但半径直观地显示了您可能在的所有位置,是一个更直观的选项。这是一个选项,但半径直观地显示了您可能在的所有位置,是一个更直观的选项
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));