私はこのクラスにいくつかのメソッドがあり、ここにさらにコードがありますJS Bin
var Maps = (function () {
function Maps() {
}
Maps.prototype.getCoord = function () {
navigator.geolocation.getCurrentPosition(this.onPositionSuccess, this.onPositionError);
};
Maps.prototype.getWatchCoord = function () {
var options = { enableHighAccuracy: true, timeout: 3000 };
navigator.geolocation.watchPosition(this.onWatchSuccess, this.onWatchError, options);
};
Maps.prototype.onPositionSuccess = function (position) {
var pos = {
'latitude' : position.coords.latitude,
'longitude' : position.coords.longitude
};
console.log(pos);
};
Maps.prototype.onWatchSuccess = function (position) {
var pos = {
'latitude' : position.coords.latitude,
'longitude' : position.coords.longitude
};
console.log(pos);
};
Maps.prototype.onWatchError = function (error) {
console.log(error.code);
};
Maps.prototype.onPositionError = function (error) {
console.log(error.code);
};
return Maps;
})();
var maps = new Maps();
maps.getCoord();
私がやろうとしているのは、成功した場合は、とgetCoord()
を呼び出してgetWatchCoord()
比較することです。それらが同じである場合は実行しないでくださいlatitude
longitude
getWatchCoord()
可能であれば、そのMapsクラス内でこれを実行しようとしています。
私はいくつかの方法を試しましたが、設定できない内部で呼び出すこと
ができずgetWatchCoord()
、成功コールバック内で呼び出すことができないようです<-何も返されませんonPositionSuccess()
var x = navigator.geolocation.getCurrentPosition....
return pos;
何か案は?