我正在尝试使用HTML5 gelolocation来获取当前访问者的位置。 由于隐私,浏览器将提示用户允许/禁止与网站共享其位置。
如果用户不允许共享他们的位置,我想向控制台显示一条消息。
这就是我所做的
$(function() {
// Try HTML5 geolocation.
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(function(position)
{
findClosestStore(position.coords.latitude, position.coords.longitude);
}, displayMapWithAddressBar);
}
else
{
// Browser doesn't support Geolocation
console.log('browser does not support geolocation!')
displayMapWithAddressBar();
}
});
function displayMapWithAddressBar()
{
console.log('Show the map since the location was not detected!');
}
但是当用户拒绝分享他们的位置时,我在控制台中看不到任何内容。我希望看到一条消息说Show the map since the location was not detected!
我怎么知道用户拒绝分享他们的位置?
更新
我的代码在谷歌浏览器中正常工作,但在Firefox中没有。如何在所有浏览器中使用它?
答案 0 :(得分:0)
无法区分他们是否拒绝许可,或者他们的浏览器是否完全兼容(至少在Firefox中)。这样做的方法是使用地址栏显示地图,或者显示默认行为,然后在接受时更新UI。这段代码简单得多......
displayMapWithAddressBar();
navigator.geolocation.getCurrentPosition(function(position){
findClosestStore(position.coords.latitude, position.coords.longitude);
});