위치 정보란 현재 사용자의 물리적 위치를 나타내는 값을 의미하며 이를 이용하면 다양한 응용분야의 소프트웨어 개발이 가능하다. 근래, 특히 이 위치 정보에 기반한 솔루션들이 많이 개발되고 있으며 주요 모바일 소프트웨어 플랫폼에서도 위치 정보 제공을 주요 기능의 일부로 포함하고 있다. 이 글에서는 주요한 모바일 소프트웨어 플랫폼들이 제공하는 위치 정보 제공 API에 대해 간략히 살펴보고 장단점에 대해 비교해보도록 하겠다. 1. Java ME의 경우 Java ME는 JSR-179 스팩을 정의하여 위치 정보에 대한 API를 제공한다. JSR-179 스팩은 위치 정보 및 디바이스의 기울기, 속도 등의 부가적인 정보도 얻을 수 있도록 되어 있으며 위치 정보에 대한 각종 정보 (예를 들면, 주소라든가) 또한 제공하는 API로 구성되어 있다. JSR-179의 가장 큰 특징으로는 위치 정보를 얻기 위한 디바이스가 GPS로 한정되지 않는 다는 것이다. 얻고자 하는 위치 정보의 정확도, 비용 등의 고려 사항에 근거하여 현재 장치가 선택할 수 있는 여러 위치 정보 제공 방법 중 선택하여 동작할 수 있는 구조를 갖추고 있다. Java ME 자체가 워낙 다양한 하드웨어를 지원하는 것을 목적으로 하고 있기 때문에 당연한 구조로 보인다. 2. iPhone의 경우 iPhone의 경우는 H/W가 단일 플랫폼이기 때문에 Java ME와 같이 여러 위치 정보 제공 방법을 결정하거나하는 구조가 필요없다. 상당히 단순화된 API를 제공하는데 위치 정보 수신을 시작하기 위한 메쏘드. 이를 중단하는 메쏘드가 거의 대부분의 기능이라고 볼 수 있다.프로그램은 CLLocationManager 클래스의 startUpdatingLocation 메쏘드를 호출하여 위치 정보 수신을 시작할 수 있다. 물론, iPhone의 경우 위치 정보 뿐만 아니라 장치의 기울기, 방향 등의 정보를 UIAccelerometer 클래스를 이용하여 얻을 수 있다. 3. Android의 경우 Android SDK는 android.l...