这是我的代码的近似值:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
function(position) {
// success!
},
function(error) {
// error
},
{ timeout: 10000 }
);
} else {
// your browser/device doesn't support geolocation
}
当此代码运行时,浏览器会正确地要求用户跟踪其物理位置的权限。如果用户说“是”,则它正确运行第一个参数('success')指定的函数。
我不清楚当用户说“不”时会发生什么。在我目前的测试中(在Firefox 7中),如果用户说“不”,则没有任何反应。我有点期待错误回调(第二个函数)运行,但事实并非如此。我希望对用户的否定响应做出反应(通过删除触发此调用的链接)。
答案 0 :(得分:8)
你需要在navigator.geolocation.getCurrentPosition()
的第二个回调中处理它,它会处理诸如用户拒绝其位置(以及其他事情)之类的问题。
navigator.geolocation.getCurrentPosition(fn, function(errorCode) {
if (errorCode == 1) {
alert('Y U NO GIVE LOCATION?');
}
});
答案 1 :(得分:0)
上一次回复的小修正
Slave