Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
2.3.0, 2.5.0, 2.9.0, 3.0.0
-
None
-
Mac Mountain Lion, iOS (any version)
Description
In the PositionError code, three constants were defined. However, they are not passed back in getCurrentPosition's code below:
var fail = function(e) {
clearTimeout(timeoutTimer.timer);
timeoutTimer.timer = null;
var err = new PositionError(e.code, e.message);
if (errorCallback)
};
This is due to PositionError.<some constants> wouldn't be available in "err" when you instantiate (or new) PositionError. Try to check the value of "err.TIMEOUT", for example, and you'll get undefined. This works if you are in a browser not using this plugin. One way to fix it is change the PositionError code to below:
var PositionError = function(code, message) {
this.PERMISSION_DENIED = PositionError.PERMISSION_DENIED;
this.POSITION_UNAVAILABLE = PositionError.POSITION_UNAVAILABLE;
this.TIMEOUT = PositionError.TIMEOUT;
this.code = code || null;
this.message = message || '';
};
PositionError.PERMISSION_DENIED = 1;
PositionError.POSITION_UNAVAILABLE = 2;
PositionError.TIMEOUT = 3;
Attachments
Issue Links
- is duplicated by
-
CB-2845 CompassError, PositionError constants not attached to prototype as specified in W3C document
- Closed