HTML5 navigator.geolocation в Web Workers

Я пытаюсь переместить свой код для navigator.geolocation в веб-воркере.

Я пробовал это с Chrome и Safari, но получаю «неопределенный» на

var isGPSSupported = navigator.geolocation;

Разочарование... они сказали в спецификации, что объект "навигатор" должен поддерживаться в веб-воркерах...

Мой код ниже:

index.js

var gpsWorker = new Worker("app/gpsworker.js");

gpsWorker.onmessage = function (e) {
    alert(e.data);
};

gpsWorker.postMessage("Start GPS!");

gpsWorker.onerror = function (e) {
    alert("Error in file: " + e.filename + "\nline: " + e.lineno + "\nDescription: " + e.message);
};

gpsworker.js

self.onmessage = function (e) {
    initGeoLoc();
}

function initGeoLoc() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(function (position) {
            self.postMessage("Got position!");
        });
    } else {
        self.postMessage("GPS is not supported on this platform.");
    }
}

Любой намек на то, что не так, будет принят с благодарностью.

7
задан Olga Rudchenko 18 July 2012 в 03:24
поделиться