2013-10-28 6 views
6

Tak, używam tego kodu:geolokalizacja nie działa z Firefoksem

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

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

Na zwrotnego localizeMe, i zrobić kilka rzeczy sukcesu, a errorLocalize pokazać mi alert, gdy ten kod nie działa.

Kiedy próbuję tego kodu w Chrome, jest OK, nie mam problemu. Ale na firefox, zawsze mam mój błąd ostrzeżenia, gdy próbuję tego kodu, błąd wywołania zwrotnego jest zawsze zadzwonić ... Czy masz jakieś pomysły?

+0

Jaki jest błąd (.code)? – nmaier

+0

Właściwy błąd Mozilli - https://bugzilla.mozilla.org/show_bug.cgi?id=675533 Mam nadzieję, że to pomoże! –

Odpowiedz

0

W Windows jest uszkodzony zbyt (przynajmniej na Windows 7 x64, nie testowałem go jeszcze w innych wersjach). 23.0.1 jest OK.

0

Jest inny sposób, aby to zrobić, możesz po prostu użyć usługi http google.

jeśli używasz kątowa to najpierw trzeba będzie importować ten

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

lub użyć w inny sposób w zależności od języka skryptowego. następnie dodać ten kod w jednej metodzie, gdzie piszesz powyżej kodu

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()); 

kiedy będzie subskrybować wynik powyżej żądania HTTP można uzyskać wymagane dane w formacie JSON jak ten

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

użyj go zgodnie ze swoim wymaganiem .. szczęśliwe kodowanie