So I’m using this guide but having zero luck on testing to decide whether it was working or not. The only variation from that code is that instead of changing a TextBlock, I’m setting a static GeoCoordinate object declared outside of the functions.
public static void PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
coord = e.Position.Location;
}
Well, I change the status thing to instead of display in a text box, to display a MessageBox with OK button, and removed the button event.
In the MainPage render I have:
private void MainPage_Loaded(object sender, RoutedEventArgs e)
{
if (watcher == null)
{
watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default);
watcher.MovementThreshold = 20;
watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(StatusChanged);
watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(PositionChanged);
}
watcher.Start();
if (!App.ViewModel.IsDataLoaded)
{
string blah = "";
blah += coord.Latitude.ToString();
blah += "; " + coord.Longitude.ToString();
However, if I don’t initialize coord, it errors out (understandable) but if I do = new GeoCoordinate(); it returns back NaN for all of the numeric items. I’ve set breakpoints inside of the event handlers which never hit (expected behavior though?)
In the emulator, I used the >> thing, set it to live and picked a few locations, set the time to switch location to 10 seconds and played it while running debug. Am I doing the debug/running the location portion of the emulator incorrectly?
update: after updating it to remove the string blah items to create a list based on the location, it appears to be working.
Your
PositionChangedmethod updates your coord, but you never read it except before it’s had a chance to be set, nor does your code use any databinding to auto-update — if your coord was on your ViewModel (assuming you’re following the MVVM pattern, going by the property names), then your event handler that listens for position changes could also raise the PropertyChanged event for the ViewModel’s version of your currentblahvariable