I'm testing HTML5 geolocation. I have some weird results in Opera and Opera Mobile.
When I visit the site after some time (for example 25 minutes) after the last visit position timestamp is from some time in the past. But I pass options telling that I want position not older then 5 seconds. After page refresh I get position timestamp close to 'now'. I think it should return position timestamp close to 'now' on every visit.
Example:
First visit: position time stamp 23:23:13
close browser:
return to site at 23:45:20: position timestamp 23:25:21
refresh: position timestamp 23:45:11
Here is my API call:
navigator.geolocation.getCurrentPosition(geoSuccess, geoError, { maximumAge: 5000, timeout: 10000, enableHighAccuracy: true });
You can observe this on azure website I created for test
Edit: Few minutes ago I learned that opera:config gives me access to geolocation settings among wich I found Send location request only on change. When I turn it off geolocation api works as it's supposed to. But I don't understand this setting. What has to change in order to send location request? With this setting turned on geolocation api gives me location from few hours ago. Even though I'm in different city already.
According to Opera's config website for Windows, the Send location request only on change means the following:
Only send location request if some of the data providers (Wi-Fi, cell, etc) actually changed.
So I am assuming that when you changed cities, you didn't change data providers as mentioned above. If you were to find a Wi-Fi access point or use another technology to access the internet, it would probably send a location request and would be updated.