f.Native.getGPS()
f.Native.getGPS(isSync, eventName, isNavigator)
개요
getGPS()를 통해 위도와 경도 데이터를 받아올 수 있습니다.
디버거 및 PC 환경에서는 GPS 를 못가져올 수도 있습니다. 모바일은 상시 GPS 위치를 반환하지만 PC는 기기 및 GPS 신호 수신여부에 따라 반환되지 못할 수 있습니다.
모바일에서도 아주 아래와 같은 특정한 환경에서 는 상이한 위치를 받을 수도 있습니다.
실내 또는 GPS 수신이 되지 않고
중계기의 위치 정보나 IP 변화가 있을 경우
실내의 경우는 위치 대신에 공유기 IP(고정IP라면) 를 함께 확인하면 이런 문제를 줄일 수 있습니다.
앱 사용자에게는 일반적으로 아래와 같은 가이드로 GPS 위치 정보의 정확도를 올려 해결하실 수 있습니다.
모바일 와이파이 사용 (와이파이를 연결하지 않고, 사용만 하시더라도 정확도를 올릴 수 있으므로 사용을 추천함)
모바일 위치 정보 관리 > 지정한 위치 반경 범위를 길게 설정
Android [모바일 설정 > 위치 > 위치 서비스 > Google 위치 정확도 > ON] [모바일 설정 > 애플리케이션 > FlexApp(앱 명칭) > 권한 > 위치 > 정확한 위치 사용 > ON]
iOS [모바일 설정 > 개인정보 보호 및 보안 > 위치 서비스 > FlexApp(앱 명칭) > 정확한 위치 > ON] (단, OS 버전에 따라 방법이 상이할 수 있습니다.)
파라미터
isSync
Yes
Boolean
true / false
GPS 정보를 새로 받아 온 후에 하위 이벤트 액션을 실행하는 여부.
eventName
Yes
String
실행할 이벤트 이름
isNavigator
No
Boolean
true / false
GPS 정확도가 네비게이션 수준의 위치추적을 실행하는 설정
이 함수의 결과인 GPS 정보는 바로 반영되지 않습니다. 기기의 상태에 따라 시간이 다르게 걸릴 수 있기 때문에 새로 받아온 GPS 정보를 활용하기 위해서는 isSync를 활용하거나, eventName 을 주어서 새 GPS 정보를 받아 온 후에 다음 이벤트(액션)이 실행 되도록 해주세요.
함수 실행 결과는 f.GPS에서 접근해 사용할 수 있습니다.
예시
isAsync를 true로 설정하여 요청 후 대기를 사용하는 경우,
하나의 스크립트 블럭 안에서 set() 함수를 여러 번 호출하면 대기 처리가 제대로 동작하지 않아 이벤트 흐름에 문제가 생길 수 있습니다. 이는 요청 후 대기가 스크립트 블럭 단위로 처리되기 때문입니다.
따라서, 여러 값을 연속으로 설정해야 할 경우에는 스크립트 블럭을 분리하거나 return을 사용하여 흐름을 제어해 주세요.
마지막 업데이트
도움이 되었나요?