2012-07-16 129 views
8

当尝试在ios上使用移动Chrome上的HTML5地理位置API时,我的应用程序抛出“Permission Denied”错误,甚至没有提示分享我的位置。有其他人遇到这个问题吗?Chrome IOS HTML5地理位置权限被拒绝

PS。这发生在本地和一个heroku实例上。

这里是代码我在文件准备运行

var displayCloseFoo = function(position) { 
     var lat = position.coords.latitude; 
     var lon = position.coords.longitude; 

    }; 

    var displayError = function(error) { 
     var errors = { 
      1: 'Permission denied', 
      2: 'Position unavailable', 
      3: 'Request timeout' 
     }; 
     alert("Error: " + errors[error.code]); 
    }; 

    var runGeo = function(){ 
     if (navigator.geolocation) { 
      var timeoutVal = 10 * 1000 * 1000; 
      navigator.geolocation.getCurrentPosition(
        displayCloseFoo, 
        displayError, 
        { enableHighAccuracy: true, timeout: timeoutVal, maximumAge: 0 } 
      ); 
     } 
     else { 
      alert("Geolocation is not supported by this browser"); 
     } 
    }; 
    runGeo(); 

感谢

+0

你的iOS模拟器是否在运行?已知导致主机的位置服务停止工作。 – user1071136 2012-07-16 17:04:14

+0

不是。这是一个移动网络应用程序,不是原生的。 – chad 2012-07-16 17:14:52

回答

2

你必须明确地允许移动Chrome在ios中使用位置服务。在ios6中,您可以通过转到设置 - >隐私 - >定位服务并将Chrome切换为开启来实现此目的。

0

地理位置不会在本地在Chrome为什么它不会从你的Heroku实例携手...不知道

看看这个小提琴......似乎罚款这里工作...... http://jsfiddle.net/mattnull/YaCRe/

+0

这不适用于ios上的移动Chrome。刚打开手机上的小提琴,它给了我和上面的代码一样的行为。 – chad 2012-08-15 14:45:49

+0

奇怪..我做了同样的事情,它在我的手机上工作...你有位置服务打开吗?这可能需要启用 – mattnull 2012-08-15 14:48:13

+0

所以我注意到,一旦你否认一次,然后重新加载..它会继续说权限被拒绝...我认为这是因为它增加了一个异常到Chrome来拒绝进一步的访问。 – mattnull 2012-08-15 15:05:27

0

安装chrome.When打开后,它会要求你分享你的位置,如果你否认你不会得到位置