개발자

GeoLocation api

2024년 02월 29일조회 48

GeoLocation api를 쓰려고 하는데 혹시 권한 허용 유무를 출력할 수 있나요? session에 userid를 저장하고 그 userid에다가 위치 권한 허용 유무를 저장해보고 싶은데여 가능할까여? 예를 들어서 허용 했으면 값이 1 이고 안했으면 0 처럼 수치를 출력할 수 있나 해서여...아무리 찾아봐도 제가 못 찾는건지 없는건지 모르겠어여. Spring으로 thymeleaf 사용중입니다

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 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 저장 } }); ``` 상황에 따라 오류처리 로직 등을 적절히 추가하시면 될 것 같습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!