Best way to get the current location?

What is the best way to get a current location reliably? 

Now I get the location from:

  1. Toybox.Position if available
  2. Toybox.Activity otherwise
  3. Toybox.Weather.getCurrentConditions().weather.observationLocationPosition if available

In what occassions are the above possitions accurate/outdated?

From my observation the only location being updated by a phone location is the Weather location. 

One user reported that this approach don't work on F6 16.10 beta, while it works reliably on stable releases on all devices. 

Is there a better approach? 

What did change on F6 16.10 beta? 

  • I use Activity.Info.currentLocation to start for a watch face.

    if it's not null save it to Storage and use it.

    if it is null, read the value from Storage and if it's not null, use it.

    If it too is null, indicate to the user in some way they must start an activity that uses GPS to get the current location.

  • I've mentioned that I have a device app that plots observationLocation using MapView.  Here's what I'm seeing with no watch GPS involved.

    It takes time (20-45 minutes with android), but the observationLocation does change.  When I got home, about the same to switch to my city.

    So it's no where near instantaneously, but to me, not bad.