private void OnPositionChanged (PositionEventArgs e)
		{
			var changed = PositionChanged;
			if (changed != null)
				changed (this, e);
		}
        private void OnPositionChanged(object sender, PositionEventArgs e)
        {
////			BeginInvokeOnMainThread (() => {
////				ListenStatus.Text = e.Position.Timestamp.ToString("G");
////				ListenLatitude.Text = "La: " + e.Position.Latitude.ToString("N4");
////				ListenLongitude.Text = "Lo: " + e.Position.Longitude.ToString("N4");
////			});
        }
		private void OnListenerPositionChanged(object sender, PositionEventArgs e)
		{
			if (!IsListening) // ignore anything that might come in afterwards
				return;

			lock (positionSync)
			{
				lastPosition = e.Position;

				EventHandler<PositionEventArgs> changed = PositionChanged;
				if (changed != null)
					changed(this, e);
			}
		}