Mam mapę Google na mojej stronie i używam W3Geolokalizacja w celu wykrycia lokalizacji użytkownika po kliknięciu przycisku „Pobierz bieżącą lokalizację”. Następnie powinien się wyskoczyć z paskiem informacyjnym allow / deny na górze okna przeglądarki.
Nie chcę informować wszystkich użytkowników o dostępie do Geolokalizacji, ale chcę jakoś zapamiętać, czy użytkownik już zezwolił na Geolokalizację i uruchomić Geolokalizację, jeśli tak.
Z moich badań wynika, że nie jest to możliwe, ale mam nadzieję, że ktoś wpadł na tę sytuację wcześniej. Jedynym sposobem, w jaki mogę to zrobić, jest ustawienie pliku cookie.
Dzięki!
Odpowiedzi:
1 dla odpowiedzi № 1To nie jest dokładnie to, czego chcesz, ale myślę, że może być pomocne.
Według Projekt W3C możesz spróbować uzyskać dowolną wartość z pamięci podręcznej z przeglądarki (bez potwierdzenia użytkownika) lub z powrotem do metody niestandardowej, jeśli nie znaleziono wartości buforowanej.
Zakładając, że użytkownik zgodził się na geolokalizację, zostanie buforowany. Przykład z tego samego projektu W3C:
// Request a position. We only accept cached positions, no matter what
// their age is. If the user agent does not have a cached position at
// all, it will immediately invoke the error callback.
navigator.geolocation.getCurrentPosition(successCallback,
errorCallback,
{maximumAge:Infinity, timeout:0});