我尝试使用谷歌地理编码作为回退向网站添加地理位置功能,到目前为止它可以正常使用Chrome。 当我在firefox中试用它时它不会只显示位置提示 继承我的代码
function add_location() {
if (navigator.geolocation)
{
$("#pheed-location").fadeIn();
$('.loading-indicator').fadeIn();
navigator.geolocation.getCurrentPosition(handle_geolocation_query, handle_location_errors);
}
}
function parseLocationError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
errorMsg = "User did not share geolocation data";
code = 1;
break;
case error.POSITION_UNAVAILABLE:
errorMsg = "Could not detect your current position";
code = 2;
break;
case error.TIMEOUT:
errorMsg = "Retrieving position timedout";
code = 2;
break;
default:
errorMsg = "Unknown error";
code = 0;
break;
}
var _error = {"msg":errorMsg,"code":code};
return _error;
}
/**
* Handles error from geolocation
* @param error object
**/
function handle_location_errors(error) {
var msgDisplay = $('.loading-indicator');
//Error message
var errorMsg ="";
console.log(error);
//Set error message base on error code
var Error = parseLocationError(error);
if((Error.code === 1) || (Error.code === 2)) {
msgDisplay.html('').fadeOut();
msgDisplay.html(Error.msg).fadeIn();
if(Error.code === 2)
$("#location-entry").fadeIn();
}
}
我添加“console.log(错误)”以确保返回错误。错误在chrome中正确记录,但似乎在firefox中根本不起作用。 可能是什么问题?
答案 0 :(得分:0)
过去几天我一直在玩地理定位API,发现Firefox 17/18,Chrome 24.0,Safari 5.1和IE 9.0之间存在间歇性问题。昨天它在Firefox中完美运行但后来开始失败。它会提示授权共享我的位置,但之后什么也没有。没有进一步的代码执行...它刚刚死了。我试过IE9,它告诉我不支持GPS。我在Safari中尝试过,它也失败了。 Chrome是唯一似乎仍在使用的浏览器。
我尝试重新启动笔记本电脑。我关闭了笔记本电脑上的无线网络(Dell XPS 1330)。我尝试检查每个浏览器的设置,但我无法确定问题......直到......
解决方案:我重新启动了我的宽带调制解调器。我正在运行DGND3700(600Mbps双频ADSL2 +宽带调制解调器/千兆路由器)。我执行了一个远程“重启路由器”,瞧!现在一切都恢复了。我注意到重启之前的连接速度是3500kbps(3.5Mbps),但重新启动后它重新恢复到接近16000kbps(16Mbps!)。
如果您遇到地理定位问题 - 重新启动无线路由器(如果可以的话)!希望这会有所帮助。
答案 1 :(得分:0)
很可能这是网站故障 - 无法使用地理定位检测所需的HTTPS协议(https://www.thesslstore.com/blog/firefox-55-https-for-geolocation/)打开它。