我看到很多人抱怨GeoLocation如何使用缓存....但我的问题是我的似乎没有使用缓存。 My Weather API需要坐标才能被调用,并且一旦我的GeoLocation获得其坐标,就会触发调用API的函数。结果显示在HTML页面上,如果我快速打开一堆它几乎是即时的,但在10秒之后它会停止使用缓存。我将maximumAge设置为5400000,1.5小时,这似乎不起作用。如果您有任何想法,请告诉我!非常感谢提前。
如果您有兴趣,请参阅我的地理位置代码:
navigator.geolocation.getCurrentPosition(successFunction, errorFunction, geo_options);
function successFunction(position) {
lat = position.coords.latitude;
long = position.coords.longitude;
console.log("lat:" + lat + " long:" + long);
callWeather(); // function that contains API call and Jquery to append
//the HTML file
}
function errorFunction(position) {
console.log('Error with Position!');
}
var geo_options = {
maximumAge: 54000000, //wait an hour and a half before updating position,
//allows for quicker calls to weather api?
timeout: 10000 // wait 10 seconds before giving up on position
};
答案 0 :(得分:0)
我添加了这一行来找出滞后的确切位置 -
console.log("called position:"+d.getSeconds()+":"+ d.getMilliseconds());
发现是我的天气api阻碍了HTML显示:
来自日志的(以分钟/秒/毫秒为单位):
content.js:232 called position: 48:36:915
content.js:329 called weather: 48:39:150
我使用DarkSky作为我的天气API。我想知道如何加快速度......