/// <summary>
        /// Creates the map control view model.
        /// </summary>
        public MapControlViewModel()
        {
            this.mapView = MapView.Current;
            this.RefreshBusStopsOnMapViewChanged = true;

            ServiceRepository.GeoLocationService.RegisterForLocationChanged(this);
        }
 /// <summary>
 /// Copies data from another map control view model.
 /// </summary>
 public void CopyFrom(MapControlViewModel other)
 {
     this.userLocation = other.userLocation;
     this.busStops = other.busStops;
     this.mapView = other.mapView;
     this.shapes = other.shapes;
     this.selectedBusStop = other.selectedBusStop;
 }
 /// <summary>
 /// Creates the map control view model.
 /// </summary>
 public MapControlViewModel()
 {
     this.mapView = MapView.Current;
     this.RefreshBusStopsOnMapViewChanged = true;
 }
        /// <summary>
        /// Sets the map view and refreshes stops around that view asynchronously.
        /// </summary>
        public async Task RefreshStopsForLocationAsync(MapView mapView)
        {
            SetProperty(ref this.mapView, mapView);
            MapView.Current = mapView;

            this.BusStops = new BusStopList(await ObaDataAccess.Create().GetStopsForLocationAsync(mapView.MapCenter.Latitude, mapView.MapCenter.Longitude));
        }