Location API for Java ME
The Location API for Java ME is a compact and generic Java 2 ME API that produces information about the device's present physical location to Java applications. This API can be optionally supported by mobile phone and PDA manufacturers, with the minimum Java platform required for this API being CLDC v1.1.
The Location API is designed to work with many different positioning methods. Generic interfaces lets application developers implement systems that can retrieve location data from multiple sources, based on their availability on the device. It has advantages over a single means of tracking, including fail-over, indoor/outdoor transparency, and a choice between the speed and accuracy trade-offs between GPS, cellular, or other positioning methods. The API supports:
- Current location - current latitude, longitude, altitude, direction, and speed of the phone, and methods to convert it to text.
- Landmark proximity - a store of landmarks can be stored on the phone's memory, and the current location can be added as a landmark.
- Address data - the nearest landmark's textual details, such as postal address, phone number, country, and the building and its URL.
- Location listeners - for dynamic location-based applications that will be triggered by when the current location changes.
The Location API does not support:
- Topological data - which is usually derived from the shapes of cell site coverage.
- Location-based queries - although the current location of the device can be calculated.
Previously, location service implementations were provider specific. The aim of this API was to provide a common API for retrieving the location information on a variety of devices.
OpenLAPI supports several back-ends:
- GPS over Bluetooth
- NMEA logfile (for development)
- KML (Keyhole Markup Language) (for development)
- random entry from a persistent landmark store (for development)
along with device specific wrappers.
Since many providers choose not to implement this optional JSR, the goal of universality has still not happened and developers are often required to create custom builds for different devices.
- Dr. Dobb's 2006 - The Java Location API
- Dr. Dobb's 2006 - The Java Location API - Address Information