2013-10-03 2 views
2

В настоящее время я показываю свое местоположение на карте успешно. У меня есть Геоположение моего местоположения, и из этого я могу получить MyGeoPosition.Coordinate.Accuracy, который находится в метрах. Я бы хотел отобразить это на карте, как это делают большинство приложений для картографирования, чтобы обеспечить контекст качества точности позиции. Что я хотел бы знать, это лучший способ показать это. Я планировал нарисовать эллипс, но я не знаю, как рассчитать ширину и высоту эллипса из значения метра и уровня масштабирования карты. Любые идеи будут оценены.Windows Phone: Отображение точности GeoCoordinate на карте

ответ

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)); 
0

Mmmm ... Не уверен Если этот ответ вам нужен, но: Почему бы вам не нарисовать цветной круг и не изменить цвет (красный-желтый-зеленый) и изменить цвет в зависимости от диапазона метров, например, если точность составляет менее 100 цветов, от 100 до 500 желтых, более 500 красных.

+0

его вариант, но радиус визуально показывает все места, в которых вы могли бы быть, и является более интуитивным вариантом –

Смежные вопросы