2017-09-25 40 views
0

我观察者的用户的,像这样如何正确调用navigator.geolocation的stopObserving()?

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

_someFunc()的位置被称为在_onPress()。在另一个onPress()我想停止watchPosition。这样做,我使用stopObserving像(很糟糕?)记录here。 在另一onPress()我只需拨打

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

然而,这给了我警告

叫stopObserving没有现有的订阅。

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

回答

0

你应该节省navigator.geolocation.watchPosition返回的watchID,然后调用clearWatch:

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

...

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