개인 프로젝트 중에 지도를 사용해야할 일이 있어서 다양한 지도중에 어떤걸 선택해야할 지 고민을 했는데, 일단 apple의 기본 지도를 사용해서 진행을 해봤다
처음엔 외부 라이브러리를 사용하기보다는 내장되어있는 것을 사용하는 게 의존성도 줄일 수 있을 것 같아서 apple map을 선택했다. 내장 라이브러리이기 때문에, 구현하는 것도 가장 쉬웠는데 문제는 내가 필요하는 기능이 없다는 것이었다. 현재 프로젝트에서 필요한 기능은 특정 상호명으로 장소를 검색한 후에 현재 위치와의 거리를 구하는 기능이 필요했는데, apple map에서는 특정 상호명을 사용하는 장소 검색이 되지 않아서 어쩔 수 없이 외부 라이브러리를 사용하기로 했다.
국내에서 사용률이 가장 높다는 naver map을 선택했다. 하지만 당연히 있을 거라고 생각했던 필수 기능이 20.6에 종료되어 버렸다...
그래도 다양한 블로그에서 placeID로 뭐 검색은 할 수 있던데, 이렇게 되면 모든 상호에 해당하는 id에 대한 데이터를 보유하고있어야 했기 때문에, 놓아줄 수 밖에 없었다..
세번째로 naver map에서 종료된 search place기능이 kakao에 있다는 글을 보고 선택하게되었다. 하지만 kakao map이 swift를 지원하지않아 objective-c를 사용해서 연동해야한다는데 이게무슨...
그래도 공홈, 블로그등을 참고해서 어찌저찌 따라서 구현을 해봤는데, 왜 안돼!!!!!!
Daummap/MTMapview.h not found. 지옥에 갇혀버렸다..
뭐 다른 글들 보니까 kakao는 시뮬레이터에서 동작되지않고 실기기에서 시뮬을 돌려야한다고하는데, 이건 된다고해도 굉장히 맘에 들지 않을 것 같아서 하루의 삽질 끝에 놓아주기로 했다...
이제 마지막 동아줄인 Google map으로 왔다.. 사실 Google map을 생각하지 않았던 이유는 두가지가 있었는데
- 진행하고있는 프로젝트는 국내 한정이기 때문에!
- 위치 검색이 한도가 월 1만건으로 가장 적다!
위 두가지의 이유로 가장 마지막으로 미뤘던 것인데.. 여기까지 도달해버렸다 ㅎㅎ 이것도 다 자세히 알아보지않고 진행한 나의 탓이니.. 허허
결과적으로 Google map은 진짜 작동 잘된다. 구현도 여기서 mapkit다음으로 쉽다. 아니 비슷한거 같기도하고.. 어쨌든 한도가 적은게 조금 아쉽긴하지만, 내 app이 그정도의 traffic을 요구할 가능성이 더 적을 확률이 더 크기 떄문에 이정도로 만족한다. 작동법은 공식 홈페이지나 다양한 블로그에 나와있으니 여기에 설명하지는 않겠다.
진짜 마지막으로 만약 지도를 사용해야할 일이 있을 때
- 어떤 지도가 내가 필요한 기능을 제공하는지?
- 각 지도들의 한도가 어떻게 되는지?
이정도를 미리 체크하고 지도를 선택하면 나같은 삽질은 없을 거라고 믿어 의심치 않는다.