我有一个检查GeoLocation API的代码片段。如果可用,我试图获得当前位置。但是取决于浏览器,代码的工作方式不同:HTML5地理位置API - 不调用任何回调
-
在IE
- ,successCallback被称为每F5 refres
- 在FF,我得到successCallback或errorCallback与铬
- 错误代码= 2(POSITION_UNAVAILABLE)我得到successCallback或...什么也没有。我等待,没有任何东西
其实我需要以一致的方式调用successCallback ...是否有改变来实现它?
代码片段:
function successCallback(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
alert("Your location is: " + latitude + "," + longitude);
}
function errorCallback(error) {
console.log(error);
}
if (Modernizr.geolocation) {
navigator.geolocation.getCurrentPosition(successCallback, errorCallback, { maximumAge: 0 });
alert("geolocation is enabled");
} else {
alert("geolocation is NOT enabled");
}
快速注1:
alert("geolocation is enabled");
被称为每次。
快速注2:
设置:
maximumAge: 1
效果更好。现在Chrome每次都会调用successCallback Chrome &。只有FF吓到我了,它随机调用successCallback。