|
@@ -17,11 +17,9 @@ namespace Breda_Tour.Data
|
|
|
{
|
|
{
|
|
|
get { return _position; }
|
|
get { return _position; }
|
|
|
}
|
|
}
|
|
|
- private List<Geoposition> _history;
|
|
|
|
|
- public List<Geoposition> History
|
|
|
|
|
- {
|
|
|
|
|
- get { return _history; }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
|
|
+ public List<BasicGeoposition> History { get; set; }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
private PositionStatus _status;
|
|
private PositionStatus _status;
|
|
|
public PositionStatus Status
|
|
public PositionStatus Status
|
|
@@ -31,7 +29,7 @@ namespace Breda_Tour.Data
|
|
|
|
|
|
|
|
public Gps(MapPage mapPage)
|
|
public Gps(MapPage mapPage)
|
|
|
{
|
|
{
|
|
|
- _history = new List<Geoposition>();
|
|
|
|
|
|
|
+ History = new List<BasicGeoposition>();
|
|
|
this.mapPage = mapPage;
|
|
this.mapPage = mapPage;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -51,7 +49,9 @@ namespace Breda_Tour.Data
|
|
|
break;
|
|
break;
|
|
|
case GeolocationAccessStatus.Denied:
|
|
case GeolocationAccessStatus.Denied:
|
|
|
_status = PositionStatus.NotAvailable;
|
|
_status = PositionStatus.NotAvailable;
|
|
|
|
|
+ geolocator = null;
|
|
|
bool result = await Launcher.LaunchUriAsync(new Uri("ms-settings:privacy-location"));
|
|
bool result = await Launcher.LaunchUriAsync(new Uri("ms-settings:privacy-location"));
|
|
|
|
|
+ Refresh();
|
|
|
break;
|
|
break;
|
|
|
case GeolocationAccessStatus.Unspecified:
|
|
case GeolocationAccessStatus.Unspecified:
|
|
|
_status = PositionStatus.NotAvailable;
|
|
_status = PositionStatus.NotAvailable;
|
|
@@ -61,8 +61,15 @@ namespace Breda_Tour.Data
|
|
|
|
|
|
|
|
private void OnPositionChanged(Geolocator sender, PositionChangedEventArgs args)
|
|
private void OnPositionChanged(Geolocator sender, PositionChangedEventArgs args)
|
|
|
{
|
|
{
|
|
|
- mapPage.ShowLocaton(args.Position.Coordinate.Point);
|
|
|
|
|
_position = args.Position;
|
|
_position = args.Position;
|
|
|
|
|
+ mapPage.ShowLocaton(_position.Coordinate.Point);
|
|
|
|
|
+ //For route history line
|
|
|
|
|
+ BasicGeoposition BasicG = _position.Coordinate.Point.Position;
|
|
|
|
|
+ History.Add(BasicG);
|
|
|
|
|
+ if (History.Count >= 2)
|
|
|
|
|
+ {
|
|
|
|
|
+ mapPage.DrawWalkingPath(History);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private void OnStatusChanged(Geolocator sender, StatusChangedEventArgs args)
|
|
private void OnStatusChanged(Geolocator sender, StatusChangedEventArgs args)
|