我正在尝试在网络工作者中移动我的 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.");
}
}
任何关于错误的提示将不胜感激。