title: Windows Phone 8.1 Geolocation Speed always 5.8
body: <p>I am using Geoposition and a Postition changed event to grab Coordinates of the device location.</p>
  
  <pre><code>       private async void StartGpsMonitoring()
      {
          if (locator == null)
          {
              locator = new Geolocator();
  
          }
          if (locator.LocationStatus == PositionStatus.Disabled)
          {
              //throw new Exception();
  
              MessageDialog noGpsDialog = new MessageDialog("Location services are disabled, please enable location services");
              noGpsDialog.Commands.Add(new UICommand("Location Settings", new UICommandInvokedHandler(this.CommandInvokedHandler), 0));
              noGpsDialog.Commands.Add(new UICommand("Cancel", new UICommandInvokedHandler(this.CommandInvokedHandler), 1));
              await noGpsDialog.ShowAsync();
          }
          if (locator != null)
          {
              //locator.MovementThreshold = 3;
              locator.ReportInterval = 1;
              locator.DesiredAccuracy = PositionAccuracy.High;
              locator.PositionChanged +=
                  new TypedEventHandler&lt;Geolocator,
                      PositionChangedEventArgs&gt;(locator_PositionChanged);
          }
      }
  
         private async void locator_PositionChanged(Geolocator sender, PositionChangedEventArgs e)
      {
          string speed = string.Empty;
          await dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =&gt;
          {
              Geoposition geoPosition = e.Position;
              if (e.Position.Coordinate.Speed != null)
              {
                   speed = e.Position.Coordinate.Speed.Value.ToString(); // always 5.8
              }
              geolocation = geoPosition.Coordinate.Point.Position.Latitude.ToString() + " " +
                                geoPosition.Coordinate.Point.Position.Longitude.ToString() + "Speed = " +
                                speed;
  
  
              var textBlockStatus =
                  ControlHelper.FindChildControl&lt;TextBlock&gt;(JourneyTrackerSection, "TextBlockStatus") as TextBlock;
              textBlockStatus.Text = geolocation;
          });
      }
  </code></pre>
  
  <p>I am also trying to get the speed value. But when using the emulator I am always getting 5.8 regardless of if I have speed limit/walking/biking set on the emulator, and still get 5.8 from a static position.</p>
  
  <p>Can anybody shed some light as to why? Is it just the emulator? Would I get an accurate result if I used a real device?
  Its hard to develop a location speed application where I have to run out side every time I want to debug/run it.</p>
  
  <p>Any help much appreciated.</p>