W geolokalizacji API? Nie
Jeśli użytkownik kliknie odmówić zgody oznacza to po prostu „Nie, i nie przeszkadza mi to jeszcze raz ...”
użytkownik może jednak to zrobić, usuwając lokalizacyjnych akcji ustawienia, a następnie oczywiście szybka wyskakuje ponownie.
Lub użytkownik może po prostu zmienić ustawienia, jeśli pozwala na to przeglądarka, np. Chrome zarządza tymi ustawieniami jako wyjątkami (bez względu na to, czy użytkownik ma zezwolenie lub nie ma uprawnień), więc użytkownik musi usunąć ustawienia, lub nie. wyjątek.
Co teraz?
Jedyną opcją jest złapanie błędu i użycie np. niektóre zewnętrzne interfejsy API, aby znaleźć lokalizację użytkownika według adresu IP. Możesz go zaprogramować samodzielnie lub oczywiście istnieją rozwiązania, które zasugerował @Venkat.
Należy jednak pamiętać, że geolokalizacja adresu IP jest trudna - czasami ma ona dokładność z dokładnością do numeru, czasem jest to tylko stan dokładności.
Ten examle from Mozilla's docs pokazuje dobry przykład sposobu obsługi błędów Geolokalizacja:
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
var crd = pos.coords;
console.log('Your current position is:');
console.log('Latitude : ' + crd.latitude);
console.log('Longitude: ' + crd.longitude);
console.log('More or less ' + crd.accuracy + ' meters.');
};
function error(err) {
/*
CALL EXTERNAL API HERE
*/
console.warn('ERROR(' + err.code + '): ' + err.message);
};
navigator.geolocation.getCurrentPosition(success, error, options);
Czy to rzeczywiście rozwiązać problem w kwestii tutaj (że żeby pozwolić geolokalizacja wyszukiwanie nie pojawia się ponownie po jej odmówiono raz) ...? Wątpię. – CBroe
nie odpowiada na moje pytanie przez: –
Myślę, że jedynym sposobem obejścia tego jest odświeżenie strony (jeśli jest to opcja), aby móc ponownie poprosić. –