Javascripts 地理定位 - 用户拒绝提供数据

标签 javascript browser geolocation

这个JS函数工作正常;但如果用户拒绝通过浏览器进行本地化,则不会。

如何修改?

function getPosition()
  {

  if (navigator.geolocation)
    {
    navigator.geolocation.getCurrentPosition(showmyPosition);
    }
  else
    {
    alert("Geolocation doesn't work"); 
    }
  }

function showmyPosition(position)
  { 
 document.location.href="/near?lat="+  position.coords.latitude +"&lng="+ position.coords.longitude +"";
  }   

最佳答案

navigation.geolocation 不会检查用户是否接受地理定位,它仅检查浏览器是否支持地理定位。

但是,您可以为 getCurrentPosition 提供错误回调,从中您可以读取错误。请参阅下面的示例

function getPosition() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showmyPosition, errorCallback);
    }
    else {
       alert("Browser does not support geolocation");  
    }
}

function showmyPosition(position) {
    document.location.href = "/near?lat=" + position.coords.latitude + "&lng=" + position.coords.longitude + "";
}

function errorCallback(error) {
    if (error.code === 1) {
        alert("User denied geolocation");
    }
}

关于Javascripts 地理定位 - 用户拒绝提供数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32909353/

相关文章:

javascript - 有哪些跨浏览器图表包可用?

forms - 浏览器不会提示保存密码

java - 我正在尝试从 JAVA 中的 ip 地址获取位置信息,但我收到了 java.net.SocketException : Connection reset error

javascript - 在 Nativescript 中从外部源加载图像

javascript - 如何使用 SVG 文本元素进行换行?

javascript - 无法识别的帧操作码 : 5 and web socket closes

python - 性能 - 按纬度/经度查找特定距离内的所有点

python - 如何使用python计算地球表面多边形的面积?

javascript - 在奇数位置设置动画时在 Chrome 中抖动图像

javascript - 如何使用 Ajax 连接数据库 (jsp) 检查输入验证