Augmented Reality Radar for Windows Phone.

It is independend implementation of ar radar control for Windows Phone.

Features:

  • Using Compass (normal / invert rotation)
  • Allows to show GeoCoordinate points
  • Easy styling of items and control
  • Can be used with GART AR Framework

Example application using GART + radar.

Releases

  • Init
    • Added control for Windows Phone 8 system
  • 0.1
    • Added support for Windows Phone 7.1
    • Added release for Windows Phone 8  and 7.1, builds for each CPU type.

How it works

1. To add control you must add reference to RadarCntrol.Core

xmlns:core="clr-namespace:RadarControl.Core;assembly=RadarControl"

2. After that you can easily add control to view.

<core:RadarControl x:Name="radar"
                               Width="150"
                               Height="150"
                               Background="#66858585"
                               IsLocationEnabled="True"
                               MaxPointDistance="1000"
                               InvertRotation="False">
                <core:RadarControl.GeoPointTemplate>
                        <ControlTemplate>
                            <Viewbox Width="20">
                                <Grid>
                                    <Ellipse HorizontalAlignment="Center"
                                             Height="4"
                                             VerticalAlignment="Center"
                                             Width="4"
                                             Fill="#FF3C89EC" />

                                    <Ellipse HorizontalAlignment="Center"
                                             Height="8"
                                             Stroke="#FF3C89EC"
                                             VerticalAlignment="Center"
                                             Width="8" />
                                    <Ellipse HorizontalAlignment="Center"
                                             Height="12"
                                             Stroke="#FF3C89EC"
                                             VerticalAlignment="Center"
                                             Width="12" />

                                </Grid>
                            </Viewbox>
                        </ControlTemplate>
                </core:RadarControl.GeoPointTemplate>
            </core:RadarControl>

This example show how to achieve the same design as in the picture at the top.

3. If location is enabled control will notify user that needs data.

radar.PointsReuqested += radar_PointsReuqested;

IEnumerable<RadarControl.Abstracts.IRadarPoint> radar_PointsReuqested(PointsRequestedEventArgs arg)
        {
            List<RadarTemplatedItem> items = new List<RadarTemplatedItem>();

            foreach (var geoItem in coordinates)
            {
                var pItem = new RadarTemplatedItem();
                pItem.Azimuth = (int)LocationHelper.CacheAzimuth(arg.CurrentLocation, geoItem);
                pItem.Distance = (int)LocationHelper.CalculateDistance(arg.CurrentLocation, geoItem);

                if(pItem.Distance <= arg.DesiredPointDistance)
                    items.Add(pItem);
            }

            return items;
        }

Last edited Apr 13, 2014 at 1:34 PM by Vexillium, version 9