개발자
GeoLocation api를 쓰려고 하는데 혹시 권한 허용 유무를 출력할 수 있나요? session에 userid를 저장하고 그 userid에다가 위치 권한 허용 유무를 저장해보고 싶은데여 가능할까여? 예를 들어서 허용 했으면 값이 1 이고 안했으면 0 처럼 수치를 출력할 수 있나 해서여...아무리 찾아봐도 제가 못 찾는건지 없는건지 모르겠어여. Spring으로 thymeleaf 사용중입니다
답변 0
첫 답변을 기다리고 있어요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 02월 29일
네, 가능합니다. GeoLocation API는 사용자의 권한 상태를 반환하는 기능이 포함되어 있습니다. 이는 `navigator.permissions.query({name:'geolocation'})` 메소드를 통해 접근할 수 있으며, promise를 반환하고, 이 promise는 PermissionStatus 객체로 resolve됩니다. PermissionStatus 객체에는 'state'라는 속성이 있는데, 이것은 현재 권한의 상태를 나타냅니다. 여기에는 값 'granted', 'denied', 'prompt'가 포함될 수 있습니다('granted' 는 사용자가 권한을 부여했음을, 'denied' 는 거부했음을, 'prompt' 는 아직 결정되지 않았음을 의미합니다). 따라서 이 정보를 사용해서 세션에 위치 정보 권한 허용 유무를 저장하는 것이 가능합니다. 예를 들어 다음과 같이 코드를 작성할 수 있습니다: ```javascript navigator.permissions.query({name:'geolocation'}) .then(function(result) { if (result.state === 'granted') { //권한이 허용된 경우 세션에 1 저장 } else if (result.state === 'denied') { //권한이 거부된 경우 세션에 0 저장 } }); ``` 상황에 따라 오류처리 로직 등을 적절히 추가하시면 될 것 같습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!