当尝试在ios的移动Chrome上使用HTML5地理定位API时,我的应用会抛出“权限被拒绝”错误,甚至没有提示共享我的位置。还有其他人遇到过这个问题吗?
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 :(得分:3)
您必须明确允许移动Chrome在ios中使用位置服务。在ios6中,您可以通过转到设置 - >隐私 - >位置服务并将Chrome切换为开启来实现此目的。
答案 1 :(得分:0)
地理位置无法在Chrome中本地运行...不确定为什么它无法从您的Heroku实例中运行
查看这个小提琴...这似乎在这里工作正常... http://jsfiddle.net/mattnull/YaCRe/
答案 2 :(得分:0)
安装chrome后,当它打开时,它会要求你分享你的位置如果你否认你将无法获得该位置