Hoon222y

Android App For Mac 제작 (6) - Geocoder 본문

개발 /우리 지금 만나

Android App For Mac 제작 (6) - Geocoder

hoon222y 2017. 11. 27. 15:16

 Geocoder 이란 주소값을 통해서 위도와 경도를 받아오는것을 의미한다. 생각보다 간단한 코드로 해결이 가능하다. 

import android.location.Geocoder;

를 하고 사용해야 한다. 

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
           
 
        Geocoder coder = new Geocoder(getApplicationContext());
        try{
            ArrayList<Address> addrList = (ArrayList<Address>) coder.getFromLocationName(pos,3);
            Iterator<Address> addrs = addrList.iterator();
 
            String infoAddr = "";
            double lat = 0f;
            double lng = 0f;
 
            while(addrs.hasNext()){
                Address loc = addrs.next();
                infoAddr +=String.format("Coord : %f, %f",loc.getLatitude(),loc.getLongitude());
                lat = loc.getLatitude();
                lng = loc.getLongitude();
            }
            System.out.println("위도는 : "+ lat + "  경도는 :  " +lng);
 
            final String gURIForm = String.format("Geo : %f, %f",lat , lng);
//            Uri gURI = Uri.parse(gURIForm);
//            Intent gMapIntent = new Intent(Intent.ACTION_VIEW,gURI);
//            startActivity(gMapIntent);
        }catch (IOException e){
            e.printStackTrace();
        }
cs


이렇게 작성된 코드를 통해서 

각각의 위치를 검색한 후 위도와 경도를 얻을 수 있다. 하지만 정확도가 그렇게 높다고 보기는 힘들 듯 한다. 아 추가적으로 주소를 검색할 때 도로명 주소와 그냥 우편 주소가 나오는데 도로명 주소를 클릭할 경우 경도에서 -값이 나오는 경우가 발생하고 있다. 최적화가 되지 않은것 같다.

Comments