Google ジオコードをフォールバックとして使用してサイトに地理位置情報機能を追加しようとしていますが、これまでのところクロムで適切に動作します。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(error)」を追加します。エラーは Chrome では適切に記録されますが、Firefox ではまったく機能しないようです。何が問題なのですか?