2013-10-28 65 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 
} 

結果根據您的要求使用它..快樂編碼