우선 기존 앱스프레소에서 navigator.geolocation.watchPosition 함수를 사용하여 안드로이드 버전으로
gps 정보를 잘 수신 받었습니다. (위 소스는 앱스프레소로 작성한 apk 파일은 잘 됩니다. gps 정보를 이상한곳으로 잡는
것 빼곤..)
요즘 갑자기 테스트할일이 생겨서 다시 확인해보는데 로칼에서 작성한 html 만 테스트로 해보면
크롬, firefox 등에서 콜백에러로 POSITION_UNAVAILABLE 을 뱉어냅니다.
위치 정보를 사용하겠다고 '수락'을 하였는데도 말이죠 ;;
또한 앱스프레소에서 작성한 내용을
앱스프레소를 사용안하고 Native + Html 방식으로 안드로이드기반의 껍대기를 만든후 웹뷰를 작성하여
로칼의 html 을 바라보게끔 수정하여 테스트 중인데.
(물론. 안드로이드 설정파일에 <uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION" /> 도 작성하였습니다.)
전혀 gps 정보를 읽어오질 못하는 경우가 발생합니다.
조금 특이한 점은 앱스프레소로 만든 앱은 gps 정보를 수신할시 "현재위치 정보를 사용하고자 합니다" 라는 메시지박스가 뜨는데
반해 , 안드로이드기반의 웹뷰로 작성한 경우에는 그런 메시지가 나오지 않으며
그렇다고 watchPosition 에서 에러 콜백함수로 떨어지지도 않습니다.
var locationOption =
{
enableHighAccuracy : true,
maximumAge : 30000,
timeout:27000
};
watchGPSId =
navigator.geolocation.watchPosition(successGpsCallback,errorGpsCallback,locationOption);
위와 같은 방법으로 스크립트를 작성하였습니다.
질문 1 : 크롬 , 모질라 등 Local 환경에서 테스트시에 위치정보가 수집 안되는 이유가 무었때문인지 알수 있을까요?
(브라우저의 환경값 등 현재 위치정보를 읽을것이라고 수락하였는데도 불구하고 안되는 이유가 ㅠ.ㅠ)
질문 2 : 앱스프레소를 사용안하고 안드로이드기반에 웹뷰방식으로 했을시 gps 정보가 수신 안되는 이유 ..?
조언 부탁드립니다 .ㅠ.ㅠ