admin管理员组

文章数量:1023242

I observer the position of a user like so

_someFunc() {
    navigator.geolocation.watchPosition((position) => {
        ...
    )};
}

_someFunc() is called in an _onPress(). In another onPress() I want to stop the watchPosition. Doing that, I use the stopObserving like (badly?) documented here. On another onPress() I simply call

_anotherSomeFunc() {
    navigator.geolocation.stopObserving();
}

However, that gives me the warning:

Called stopObserving without existing subscriptions.

I have no idea what to make of it. What kind of subscriptions?

I observer the position of a user like so

_someFunc() {
    navigator.geolocation.watchPosition((position) => {
        ...
    )};
}

_someFunc() is called in an _onPress(). In another onPress() I want to stop the watchPosition. Doing that, I use the stopObserving like (badly?) documented here. On another onPress() I simply call

_anotherSomeFunc() {
    navigator.geolocation.stopObserving();
}

However, that gives me the warning:

Called stopObserving without existing subscriptions.

I have no idea what to make of it. What kind of subscriptions?

Share Improve this question asked Sep 25, 2017 at 12:28 four-eyesfour-eyes 12.6k37 gold badges130 silver badges255 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 7

You should save the watchId returned by navigator.geolocation.watchPosition , and then call clearWatch:

watchId = navigator.geolocation.watchPosition((position) => {
        ...
    }
);

...

navigator.geolocation.clearWatch(watchId);
navigator.geolocation.stopObserving();

I observer the position of a user like so

_someFunc() {
    navigator.geolocation.watchPosition((position) => {
        ...
    )};
}

_someFunc() is called in an _onPress(). In another onPress() I want to stop the watchPosition. Doing that, I use the stopObserving like (badly?) documented here. On another onPress() I simply call

_anotherSomeFunc() {
    navigator.geolocation.stopObserving();
}

However, that gives me the warning:

Called stopObserving without existing subscriptions.

I have no idea what to make of it. What kind of subscriptions?

I observer the position of a user like so

_someFunc() {
    navigator.geolocation.watchPosition((position) => {
        ...
    )};
}

_someFunc() is called in an _onPress(). In another onPress() I want to stop the watchPosition. Doing that, I use the stopObserving like (badly?) documented here. On another onPress() I simply call

_anotherSomeFunc() {
    navigator.geolocation.stopObserving();
}

However, that gives me the warning:

Called stopObserving without existing subscriptions.

I have no idea what to make of it. What kind of subscriptions?

Share Improve this question asked Sep 25, 2017 at 12:28 four-eyesfour-eyes 12.6k37 gold badges130 silver badges255 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 7

You should save the watchId returned by navigator.geolocation.watchPosition , and then call clearWatch:

watchId = navigator.geolocation.watchPosition((position) => {
        ...
    }
);

...

navigator.geolocation.clearWatch(watchId);
navigator.geolocation.stopObserving();

本文标签: javascriptHow to call stopObserving() from navigatorgeolocation properlyStack Overflow