超时后关闭地理位置提示

Close geolocation prompt after timeout

有什么方法可以自动关闭地理定位提示(比如 5 秒后)?

下面是我的函数:

setCurrentPosition() {


const geoOptions = {
  enableHighAccuracy: false,
  timeout: 2000, // Wait 2 seconds
  maximumAge: 2000   //  Valid for 2 seconds
};

if ('geolocation' in navigator) {
  navigator.geolocation.getCurrentPosition((position) => {
    this.findAddressByCoordinates(position.coords.latitude, position.coords.longitude);
  }, (positionError => {
    console.log('error');
    console.log(positionError);
  }), geoOptions );


  if (this.currentMapData === undefined) {
    this.isComponentsValid.emit(false);
  } else {
    this.isComponentsValid.emit(true);
  }

}}

,一旦出现chrome的提示,则无法用代码关闭。用户将阻止或允许。

一个技巧是使用软提示而不是硬提示,这基本上意味着您将创建自己的外观相似的弹出窗口,以便您可以根据自己的情况控制此弹出窗口(5 秒后隐藏)。一旦用户同意在您的自定义弹出窗口中分享他的位置,您就可以显示真实的 chrome 弹出窗口。

有关更多信息,请阅读 UxCollective 上的这篇精彩文章 - https://uxdesign.cc/ask-for-push-notification-opt-in-properly-you-have-only-one-chance-64d66fac618e