2013-10-28 68 views
6

工作,所以,我用这个代码:地理位置不与Firefox

var options = { 
    enableHighAccuracy: true, 
    timeout: 2000, 
    maximumAge: 100 
    }; 

navigator.geolocation.getCurrentPosition(localizeMe, errorLocalize, options); 

在回调localizeMe,我做了一些成功的东西,errorLocalize告诉我,当此代码不起作用警报。

当我在Chrome上尝试此代码时,没关系,我没有问题。但在Firefox上,当我尝试这段代码时,我总是有我的警告错误,回调错误总是被调用...你有什么想法吗?

+0

什么是错误(.code)? – nmaier

+0

相关的Mozilla错误 - https://bugzilla.mozilla.org/show_bug.cgi?id=675533希望这有助于! –

回答

0

在Windows上它坏过(至少在Windows 7 64位系统,没有测试它尚未在其它版本)。 23.0.1没问题。

0

还有其他的方法可以做到这一点,你可以使用谷歌的http服务。

如果您使用的角度则首先你需要导入这个

import { Http, Headers, RequestOptions, Response } from '@angular/http'; 

,或者您可以根据自己的脚本语言使用其他方式。 然后在方法的一种添加此代码,你正在写上面的代码

let body = { 
    enableHighAccuracy: true, 
    timeout: 2000, 
    maximumAge: 100 
}; 
let headers = new Headers({ 'Content-Type': 'application/json' }); 
let options = new RequestOptions({ headers: headers }); 
this.http.post("https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY", body, headers).map((data: any) => data.json()); 

当你将认购以上的HTTP请求,你会得到你需要的数据以JSON格式类似这样的

{ 
    "location": { 
     "lat": 21.1247647, 
     "lng": 79.04754489999999 
    }, 
    "accuracy": 625 
} 

结果根据您的要求使用它..快乐编码