본문 바로가기
앱인벤터/앱인벤터 컴포넌트

앱인벤터 위치센서 컴포넌트

by flycoding 2022. 5. 7.
반응형

앱인벤터 위치센서 컴포넌트

 

앱인벤터의 컴포넌트들을 이해와 실제 예제를 통해 실습을 통해 모바일 앱 개발에 활용도를 높이고자 한다.

이번 시간에는 앱인벤터의 위치센서 컴포넌트를 활용하여 스마트폰에서 위치 정보를 측정하여 표시해보도록 하자.

위도, 경도, 고도, 속도, 주소 등의 정보를 포함한 위치정보를 제공한다.

 

. 위치센서 컴포넌트

팔레트의 센서 부분에서 위치센서 컴포넌트는 보이지 않는 컴포넌트로, 뷰어에 drag&drop하면 화면에는 아무것도 표시되지 않으며 아래에 보이지 않는 컴포넌트에 표시된다. 버튼 컴포넌트를 통해 위치센서를 통해 위치정보 측정을 시작하도록 하며, 측정된 위치 정보를 표시하는 레이블 컴포넌트를 활용할 것이다. 이는 'geocoding'을 수행하는데,  'geocding'이란 주어진 주소를 위도, 경도로 변환해주는 기능이다.

 

팔레트

위치센서 컴포넌트는 '센서'에 있다. 위치센서 컴포넌트를 오른쪽 뷰어에 Drag&Drop하면 추가된다.

 

뷰어

컴포넌트들을 추가했을 때, 기본적으로 사각형이 뷰어 화면에 출력된다.

뷰어에는 보이는 컴포넌트로 버튼과 레이블 컴포넌트 구성되어 있으며 보이지 않는 컴포넌트로 위치센서 컴포넌트가 있다.

 

컴포넌트

 

컴포넌트에는 Screen1아래에 버튼 컴포넌트, 레이블 컴포넌트 그리고 위치센서 컴포넌트로 구성된다.

- 위치센서 컴포넌트

- 버튼 컴포넌트

- 레이블 컴포넌트

앱인벤터 위치센서 컴포넌트 활용 예제

 

위치센서 속성값

위치센서 컴포넌트 속성값에는 거리간격, 활성화와 시간간격 속성값이 있다.

거리간격 속성값은 0, 1m, 10m, 100m 값을 설정할 수 있다. 위치가 변동이 되었음을 센서가 인지하고 위치정보를 송신할 때 위치가 변경이 되었음을 판단하는 최소 거리 간격을 의미한다. 예를 들어 10m으로 거리간격 값을 설정하면 10m가 위치 변경이 되었을 때, 위치가 변경되었음을 인지하고 알려준다.

활성화 속성값은 위치센서 컴포넌트를 활성화할지 여부를 참과 거짓값으로 설정한다. 참이면 위치센서를 활용할 수 있으며 거짓이면 비활성화된다.

RefreshTime 속성값은 위치센서 컴포넌트를 통해 위치정보 측정 주기를 설정할 수 있다. 기본값은 60000msec이며, 설정할 수 있는 값은 0, 1000msec(1초), 10000msec(10초), 60000msec(60초, 1분), 300000msec(300초, 5분)이다.

 

앱인벤터 위치센서 컴포넌트 속성값

 

위치센서 컴포넌트 이벤트 블럭들

. 위치센서 컴포넌트 위치가변경되었을때 블럭

사용자가 스마트폰을 들고 이동할 때, '거리간격' 값에 따라서 위치가변경되었음을 알려주는 이벤트 블럭이다. 반환하는 값으로는 위도, 경도, 고도, 속도 값이다.

 

앱인벤터 위치센서 컴포넌트 위치가변경되었을때 블럭

 

. 위치센서 컴포넌트 상태가변경되었을때 블럭

위치 서비스 제공자의 상태가 변경되었을 때 호출되는 블럭이다. 위치서비스 제공자를 잃어버리거나 새로운 제공자로 변경되었을 때 호출된다.

 

앱인벤터 위치센서 컴포넌트 상태가변경되었을때 블럭

 

위치센서 컴포넌트 호출 블럭들

 

. 위치센서 컴포넌트 주소에서위도가져오기 블럭

주어진 위치정보로부터 위도값을 가져오는 블럭이다.

 

앱인벤터 위치센서 컴포넌트 주소에서위도가져오기 블럭

 

. 위치센서 컴포넌트 주소에서경도가져오기 블럭

주어진 위치정보로부터 경도값을 가져오는 블럭이다.

앱인벤터 위치센서 컴포넌트 주소에서경도가져오기 블럭

 

위치센서 컴포넌트 가져오기/지정하기 블럭들

. 위치센서 컴포넌트 정확도 블럭

위치센서 컴포넌트를 활성화 혹은 비활성화할지 지정하거나 활성화 여부의 값을 가져오는 블럭이다. 

 

앱인벤터 위치센서 컴포넌트 정확도 블럭

 

. 위치센서 컴포넌트 고도 블럭

위치센서 컴포넌트를 통해 측정한 고도 값을 가져오는 블럭이다. 

앱인벤터 위치센서 컴포넌트 고도 블럭

 

. 위치센서 컴포넌트 사용가능한서비스제공자 블럭

위치센서 컴포넌트를 통해 사용가능한 서비스제공자를 가져오는 블럭이다. 

 

앱인벤터 위치센서 컴포넌트 사용가능한서비스제공자 블럭

 

. 위치센서 컴포넌트 현재주소 블럭

구글 맵 데이터베이스로부터 스마트폰 기기의 물리적 거리 주소를 가져오는 블럭이다. 이 주소는 위치서비스 제공자가 항상 가져오지는 못한다. 그리고 가져오는 주소는 빌딩의 위치 주소가 아닐 수도 있다. 만일 구글이 특정 위치에 대해 주소가 가용하지 않으면 'No Address Available' 을 반환한다.

 

앱인벤터 위치센서 컴포넌트 현재주소 블럭

 

. 위치센서 컴포넌트 거리간격 블럭

거리간격 값은 0, 1m, 10m, 100m 값을 설정할 수 있다. 위치가 변동이 되었음을 센서가 인지하고 위치정보를 송신하는데, 위치가 변경이 되었음을 판단하는 최소 거리 간격을 의미한다. 예를 들어 10m으로 거리간격 값을 설정하면 10m가 위치 변경이 되었을 때, 위치가 변경되었음을 인지하고 알려준다.

 

앱인벤터 위치센서 컴포넌트 거리간격 블럭

 

. 위치센서 컴포넌트 정확도확인가능 블럭

만일 정확도확인가능에서 가져오는 값이 참이면, 스마트폰은 정확한 값을 보고할 수 있다. 만일 거짓이면 스마트폰은 현재 정확한 위치 정보를 보고할 수 없다.

 

앱인벤터 위치센서 컴포넌트 정확도확인가능 블럭

 

. 위치센서 컴포넌트 위도경도확인가능 블럭

만일 위도경도확인가능 값이 참이면, 스마트폰은 정확한 위도/경도 값을 보고할 수 있다. 만일 거짓이면 스마트폰은 현재 정확한 위도/경도 값을 보고할 수 없다.

 

앱인벤터 위치센서 컴포넌트 위도경도확인가능 블럭

 

. 위치센서 컴포넌트 위도, 경도 블럭

스마트폰의 현재 위도, 경도 위치 값을 가져오는 블럭이다.

 

앱인벤터 위치센서 컴포넌트 위도, 경도 블럭

 

. 위치센서 컴포넌트 서비스제공자잠금여부 블럭

만일 서비스제공자잠금여부 값을 참으로 지정하면 스마트폰은 위치 정보 서비스 제공자를 변경할 수 없다. 거짓으로 지정하면 위치 정보 서비스 제공자를 변경할 수 있다. 또한 서비스제공자잠금여부 값을 가져오는 블럭을 제공한다.

 

앱인벤터 위치센서 컴포넌트 서비스제공자잠금여부 블럭

 

. 위치센서 컴포넌트 서비스제공자이름 블럭

기기의 위치정보 서비스 제공자를 가져오는 블럭이다. 보통 서비스 제공자는 거의 대부분 GPS 혹은 네트워크 사업자일 것이다.

 

앱인벤터 위치센서 컴포넌트 서비스제공자이름 블럭

 

. 위치센서 컴포넌트 시간간격 블럭

스마트폰이 위치센서를 통해 위치 정보를 가져오는 시간간격을 지정하거나 시간간격 값을 가져오는 블럭이다.

 

앱인벤터 위치센서 컴포넌트 시간간격 블럭

 

이상으로 앱인벤터 위치센서 컴포넌트 블럭에 대해 간략히 살펴보았다. 좀더 자세히 확인하기 싶으면, 위치센서 앱을 통해 블럭들을 하나씩 사용해보면서 블럭의 활용 용도 등을 파악하면 좋을 것 같다. 눈으로 보는 것보다 직접 해보는게 여러모로 코딩하는데 이해하고 코딩 실력이 향상되는데 도움이 된다.

 

Just Do it!!!

Just Drag&Drop!!!

 

 

. 바코드스캐너 컴포넌트 스캔후에 블럭

스마트폰으로 바코드스캐너를 스캔한 후에, 결과 값을 받는 이벤트 블럭이다.

 

반응형

댓글