안드로이드 위치기반 앱개발 예제 소스(Toast, Geography, Radius, Location)

안드로이드 위치기반 앱개발 예제 소스(Toast, Geography, Radius, Location)


안드로이드에선 위치기반 앱을 제작할 때 반드시 구성(구현)해야할 요소가 존재합니다.

총 4개로 해당 사항은 아래와 같습니다.


위치기반 앱개발 1. Toast


1
2
Items.add(new OverlayItem(getPoint(37.12345,127.12345), "somebody""somebody"));
Toast.maketext() or AlertDialog
cs


위치 정보를 시각적으로 표현해야 합니다.

위치기반 앱개발 2. Drawing Radius


1
2
3
4
5
6
7
8
9
Point point_THIS = new Point();
Projection PRO_J  = mapView.getProjection();
 
PRO_J.toPixels(point, point_THIS);
 
RectF ovel = new RectF(point_THIS.x-5, point_THIS.y-5, point_THIS.x+5, point_THIS.y+5);
      canvas.drawOval(ovel, paint);
 
point = Geopoint
cs


위치 기반 앱에선 내 위치가 중요합니다. Point 객체를 이용해 지금 사용자는 어디에 있는지 알려줘야 합니다.


그리고 Canvas 객체를 이용해 사용자의 위치를 시각적으로 알려줘야 합니다. (가령, 네이버 지도의 내위치 탐색처럼)


위치기반 앱개발 안드로이드[Android Application] LBS Example Source


위치기반 앱개발 3. GET - Geography Information


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Geocoder _Geocoder = new Geocoder(this);
    try {
        Iterator
 _Addresses = _Geocoder.getFromLocation(ALatitude, ALongitude, 3).iterator();
        if (_Addresses != null) {
            while (_Addresses.hasNext()) {
                Address namedLoc = _Addresses.next();
 
                String placeName = namedLoc.getLocality();
                String featureName = namedLoc.getFeatureName();
                String country = namedLoc.getCountryName();
                String road = namedLoc.getThoroughfare();
 
                _Result += String.format("\n[%s][%s][%s][%s]", placeName, featureName, road, country);
 
                int addIdx = namedLoc.getMaxAddressLineIndex();
                for (int idx = 0; idx <= addIdx; idx++){
                    String addLine = namedLoc.getAddressLine(idx);
                    _Result += String.format("\nLine %d: %s", idx, addLine);
                }
            }
        }
            
        return _Result;
    } catch (IOException e) {
     return "Error";
    }
cs


시각적으로 표현하기 위해선 기반이 되는 데이터가 필요합니다.


Geocoder를 이용해 각종 지리 정보를 유추해야 합니다. (위치, 지명, 좌표 등)


안드로이드 위치기반 앱개발 예제 소스(Toast, Geography, Radius, Location)[Android Application] LBS Example Source


위치기반 앱개발 4. Arrow of My Location


1
2
3
4
protected void drawCompass(Canvas canvas, float bearing) {
    //super.drawCompass(canvas, bearing);
    VIEW_DIRECTION = bearing;
}
cs


내 위치가 어디있는지를 알수 있다면 방향도 알아야 합니다. 나는 대체 어디로 흘러가는 중인가, 누구나 궁금해할 부분이기도 하죠.


이렇게 토스트, 해당 지역 정보, 원 그리기, 화살표 생성 4가지입니다. 특히 4번째 화살표의 경우 VIEW_DIRECTION의 속성을 bearing로 설정해 주면, 가리키는 방향으로 화살표가 움직입니다.


안드로이드 위치기반 앱개발 예제 소스(Toast, Geography, Radius, Location)

이 글을 공유하기

댓글(0)

Designed by JB FACTORY