如何正确地从navigator.geolocation调用stopObserving()?

时间:2017-09-25 12:28:24

标签: javascript android ios react-native geolocation

我观察了像这样的用户的位置

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

_onPress()。在另一个onPress()我想停止watchPosition。这样做,我使用stopObserving喜欢(严重?)记录here。 在另一个onPress()我只是致电

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

然而,这给了我警告

  

在没有现有订阅的情况下调用stopObserving。

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

1 个答案:

答案 0 :(得分:4)

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

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

...

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