1
var x=document.getElementById("demo");
function getLocation()
{
  if (navigator.geolocation)
    navigator.geolocation.getCurrentPosition(showPosition,showError);
  else
    x.innerHTML="Geolocation is not supported by this browser.";    
}

function showPosition(position)
{
  x.innerHTML="Latitude: " + position.coords.latitude + 
  "<br>Longitude: " + position.coords.longitude;    
}

function showError(error)
{
  switch(error.code) 
  {
    case error.PERMISSION_DENIED:
      alert("User denied the request for Geolocation.");
      break;
    case error.POSITION_UNAVAILABLE:
      alert("Location information is unavailable.");
      break;
    case error.TIMEOUT:
      alert("The request to get user location timed out.");
      break;
    case error.UNKNOWN_ERROR:
      alert("An unknown error occurred.");
      break;
  }
}

我已经激活了谷歌地图地理定位服务,并在浏览器中选中了“允许站点访问物理位置​​”选项。但仍然PERMISSION_DENIED抛出“”错误代码。

4

1 回答 1

1

它在 http 服务器的帮助下运行良好。在 Chrome 中使用来自“file:/// URI”的地理位置存在一些安全限制问题。Chrome 在使用“file:///”uri 读取外部文件(如 XML)时也存在问题。

于 2013-09-11T14:31:53.267 回答