超时后关闭地理位置提示
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
有什么方法可以自动关闭地理定位提示(比如 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