我试图让Firefox 13将地理定位位置对象转换为JSON字符串,但它返回一个空字符串而不是我的JSON对象的正确字符串表示形式.这在最新版本的Chrome和Safari以及Android浏览器中运行良好.这是我的代码:
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
function (position) {
//Success handler
console.log(position); //This outputs the position object to the console
var gps = JSON.stringify(position);
console.log(gps); //This outputs an empty string!
},
function (error)
{
//Handle error
},
{ maximumAge: 3000, timeout: 60000, enableHighAccuracy: true }
);
}
else {
//Handle error
}
Run Code Online (Sandbox Code Playgroud)
在Chrome中,这会输出一个地理位置对象,以及此字符串:
"{"coords":{"latitude":XYZ,"heading":null,"accuracy":40,"altitudeAccuracy":null,"altitude":null,"longitude":XYZ,"speed":null},"timestamp":1339712284200}"
Run Code Online (Sandbox Code Playgroud)
然而,在Firefox 13的输出仅仅是一个空字符串,即使该集团的印刷到控制台地理位置对象是所有意图和目的相同,由Chrome显示的对象.关于这里出了什么问题的任何想法?这似乎是一个相关的问题,但我也没有看到解决方案.顺便说一句,IE9显示相同的行为.