OGeek|极客世界-中国程序员成长平台

标题: javascript - 如何从 navigator.geolocation 正确调用 stopObserving()? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 15:39
标题: javascript - 如何从 navigator.geolocation 正确调用 stopObserving()?

我这样观察用户的位置

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

_someFunc()_onPress() 中调用。在另一个 onPress() 中,我想停止 watchPosition。这样做,我使用 stopObserving 就像(很糟糕?)记录的 here . 在另一个 onPress() 上,我只需调用

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

但是,这给了我警告:

Called stopObserving without existing subscriptions.

我不知道该怎么做。什么样的订阅?



Best Answer-推荐答案


你应该保存 navigator.geolocation.watchPosition 返回的 watchId,然后调用 clearWatch:

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

...

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

关于javascript - 如何从 navigator.geolocation 正确调用 stopObserving()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46405277/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://ogeek.cn/) Powered by Discuz! X3.4