捕捉html5地理定位事件



有办法捕捉html5地理定位事件吗?

现在我正在使用geolocator.js

我的问题是:

当消息弹出时,如果我想允许html5位置(如果我接受(,如果我得到ipLocation,它会占用html5位置。

但我想听听这些点击,这样我就可以设置一个超时,如果用户在10秒内没有点击,它会自动获取ip位置。

有什么方法可以让事件"接受"one_answers"拒绝"吗?这是我的代码片段

if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(geoSuccess, geoError, html5Options);
    } else { // not supported
        fallback(new Error('geolocation is not supported.'));
    }

编辑:我在iMac 上使用Chrome

编辑2:

var html5Options = { enableHighAccuracy: true,timeout: 10000, maximumAge: 0 };

编辑3:使用kravitz 的解决方案

if (navigator.geolocation) {
        waitTooLong=setTimeout(geoError, 15000);
        navigator.geolocation.getCurrentPosition(geoSuccess, geoError, html5Options);
    } else { // not supported
        fallback(new Error('geolocation is not supported.'));
    }
function geoSuccess(position) {
        clearTimeout(waitTooLong);
       //doing my locationstuff
}
function geoError(error) {
        //doing my locationstuff
        clearTimeout(waitTooLong);
        fallback(error);
 }
var geoError = function(){
  //get location failed so get manually by IP here
};
if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(geoSuccess, geoError, html5Options);
    } else { // not supported
        fallback(new Error('geolocation is not supported.'));
    }

以上应该工作,但如果你想真正确定:

var timeOut = setTimeout(geoError, 10000);
var geoSuccess =  function(){
   clearTimeout(timeOut);
};

最新更新