You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Steve Gill (JIRA)" <ji...@apache.org> on 2013/10/08 01:08:42 UTC

[jira] [Updated] (CB-4610) locationerror event does not contain the three constants (TIMEOUT, PERMISSION_DENIED, POSITION_UNAVAILABLE)

     [ https://issues.apache.org/jira/browse/CB-4610?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Gill updated CB-4610:
---------------------------

    Assignee:     (was: Steve Gill)

> locationerror event does not contain the three constants (TIMEOUT, PERMISSION_DENIED, POSITION_UNAVAILABLE)
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: CB-4610
>                 URL: https://issues.apache.org/jira/browse/CB-4610
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin Geolocation
>    Affects Versions: 2.3.0, 2.5.0, 2.9.0, 3.0.0
>         Environment: Mac Mountain Lion, iOS (any version)
>            Reporter: William Cheung
>
> 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) {
>                 errorCallback(err);
>             }
>         };
> 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;



--
This message was sent by Atlassian JIRA
(v6.1#6144)