파파비의 블로그

플러터, flutter) Google map, 위치 값(위도 경도) > 주소로 바꾸기 본문

개발/flutter

플러터, flutter) Google map, 위치 값(위도 경도) > 주소로 바꾸기

N. Dave 2020. 6. 21. 18:24
반응형

1. http 패키지가 추가적으로 필요하다.

 

2. https://developers.google.com/maps/documentation/geocoding/start?hl=ko#reverse

 

Get Started  |  Geocoding API  |  Google Developers

Geocoding converts addresses into geographic coordinates to be placed on a map. Reverse Geocoding finds an address based on geographic coordinates or place IDs.

developers.google.com

여기는 google api 문서관련인데 여기서 geocoding api를 활용할 것이다.

geocoding api는 위도경도 값을 <=> 주소값하고 호환시켜주는 그런 기능이다.

 

여기 들어가서 우측에보면

이런식의 목차가 있는데 클릭하면 해당 부위로 이동이 가능하다.

address lookup부분이 위도 경도를 주소값으로 받는 것이다.

 

여기서 https 부분을 복사해서 활용하면 된다.

딱 보면 이제 알겠지 않는가? lat, lng 부분을 우리가 원하는 값으로 바꾸고 뒤에 api key를 입력해서 

http 리퀘스트 보내면 원하는 값이 돌아져 올 것만 같다!!

 

그게 맞다. 그래서 우리는 locationhelp 클래스에 다음과 같은 메소드를 추가했다.

url값을 가져와서, get request를 날렸고, 그 값을 decode해서 ['results'][0]['formatted_address'] 부분으로 들어가서 원하는 값을 얻고자 한다.

 

<참고> ['results'] 라는게 존재하는 것을 알았을까?

1) doc를 살펴보았다

이렇게 친절히 나와있다. 특히 result's' 인 이유는 주위에 가까운 주소들이 함께 전달되어 오기 때문인데,

가장 연관성이 높은 주소 순서대로 온다 그래서 [0]으로 접근했고,

주소에 대한 다양한 정보들이 함께 날라오는데 우리는 그중에서

완성된 형태인 ['formatted_address']를 원한것이다.

 

 

2) 위 방법이 귀찮다면, print를해서 body부분을 미리 살펴보아도 좋다.

 

 

 

반응형
Comments