最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to call stopObserving() from navigator.geolocation properly? - Stack Overflow

programmeradmin1浏览0评论

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();
发布评论

评论列表(0)

  1. 暂无评论