internal void CenterMapOnNearbyCircle()
 {
     if (MapCircles.Count > 0 && MapCircles.First().Center != null)
     {
         _messenger.Send(new MessageTypes.CenterMapOnGeoposition(MapCircles.First().Center.Value));
     }
 }
        internal async Task MoveNearbyCircleToUser()
        {
            if (OwnedBy != SearchSection.Nearby)
            {
                return;
            }

            if (_tokenSource != null && !_tokenSource.IsCancellationRequested)
            {
                _tokenSource.Cancel();
            }
            _tokenSource = new CancellationTokenSource();

            IsOverviewLoading = true;

            GenericResult <Geoposition> result = await _geolocation.GetCurrentLocationAsync();

            if (result.HasResult)
            {
                MapCircles.Clear();
                _messenger.Send(new MessageTypes.CenterMapOnGeoposition(result.Result.Coordinate.Point.Position));
                MapCircles.Add(new ColoredGeocircle(GeoHelper.GetGeocirclePoints(result.Result.Coordinate.Point, GeocircleRadiusMeters, GeocircleNumberOfPoints),
                                                    result.Result.Coordinate.Point.Position));
                await UpdateNearbyPlaces(new Geocircle(result.Result.Coordinate.Point.Position, GeocircleRadiusMeters), _tokenSource.Token);
            }

            IsOverviewLoading = false;
        }
        internal async Task MoveNearbyCircle(Geopoint point)
        {
            if (OwnedBy != SearchSection.Nearby)
            {
                return;
            }

            if (_tokenSource != null && !_tokenSource.IsCancellationRequested)
            {
                _tokenSource.Cancel();
            }
            _tokenSource = new CancellationTokenSource();

            IsOverviewLoading = true;

            MapCircles.Clear();
            MapCircles.Add(new ColoredGeocircle(GeoHelper.GetGeocirclePoints(point, GeocircleRadiusMeters, GeocircleNumberOfPoints), point.Position));
            await UpdateNearbyPlaces(new Geocircle(point.Position, GeocircleRadiusMeters), _tokenSource.Token);

            IsOverviewLoading = false;
        }