Location API for Java ME
Encyclopedia
The Location API for Java ME is a compact and generic Java 2 ME
Java Platform, Micro Edition
Java Platform, Micro Edition, or Java ME, is a Java platform designed for embedded systems . Target devices range from industrial controls to mobile phones and set-top boxes...

 API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 that produces information about the device's present physical location to Java applications. This API can be optionally supported by mobile phone
Mobile phone
A mobile phone is a device which can make and receive telephone calls over a radio link whilst moving around a wide geographic area. It does so by connecting to a cellular network provided by a mobile network operator...

 and PDA
Personal digital assistant
A personal digital assistant , also known as a palmtop computer, or personal data assistant, is a mobile device that functions as a personal information manager. Current PDAs often have the ability to connect to the Internet...

 manufacturers, with the minimum Java platform required for this API being CLDC v1.1
Connected Limited Device Configuration
The Connected Limited Device Configuration is a specification of a framework for Java ME applications describing the basic set of libraries and virtual-machine features that must be present in an implementation...

.

The Location API was developed under the Java Community Process
Java Community Process
The Java Community Process or JCP, established in 1998, is a formalized process that allows interested parties to get involved in the definition of future versions and features of the Java platform....

 as JSR 179, released in September 2003 and updated to version 1.0.1 in March 2006. Nokia
Nokia
Nokia Corporation is a Finnish multinational communications corporation that is headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki...

 is the main author and maintainer of this JSR.

OpenLAPI is an LGPL implementation for use in emulator environments where the Nokia reference implementation does not exist and for devices which can access a GPS device over Bluetooth
Bluetooth
Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security...

.

Features

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
Global Positioning System
The Global Positioning System is a space-based global navigation satellite system that provides location and time information in all weather, anywhere on or near the Earth, where there is an unobstructed line of sight to four or more GPS satellites...

, cellular, or other positioning methods. The API supports:
  • Current location - current latitude
    Latitude
    In geography, the latitude of a location on the Earth is the angular distance of that location south or north of the Equator. The latitude is an angle, and is usually measured in degrees . The equator has a latitude of 0°, the North pole has a latitude of 90° north , and the South pole has a...

    , longitude
    Longitude
    Longitude is a geographic coordinate that specifies the east-west position of a point on the Earth's surface. It is an angular measurement, usually expressed in degrees, minutes and seconds, and denoted by the Greek letter lambda ....

    , altitude
    Altitude
    Altitude or height is defined based on the context in which it is used . As a general definition, altitude is a distance measurement, usually in the vertical or "up" direction, between a reference datum and a point or object. The reference datum also often varies according to the context...

    , direction, and speed
    Speed
    In kinematics, the speed of an object is the magnitude of its velocity ; it is thus a scalar quantity. The average speed of an object in an interval of time is the distance traveled by the object divided by the duration of the interval; the instantaneous speed is the limit of the average speed as...

     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.

Device independence

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
    Bluetooth
    Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security...

  • NMEA
    NMEA
    NMEA 0183 is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonars, anemometer, gyrocompass, autopilot, GPS receivers and many other types of instruments. It has been defined by,...

     logfile (for development)
  • KML (Keyhole Markup Language
    Keyhole Markup Language
    Keyhole Markup Language is an XML notation for expressing geographic annotation and visualization within Internet-based, two-dimensional maps and three-dimensional Earth browsers. KML was developed for use with Google Earth, which was originally named Keyhole Earth Viewer. It was created by...

    ) (for development)
  • random entry from a persistent landmark store (for development)

along with device specific wrappers.

Support

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.

The Location API is available to Java applications on some BlackBerry
BlackBerry
BlackBerry is a line of mobile email and smartphone devices developed and designed by Canadian company Research In Motion since 1999.BlackBerry devices are smartphones, designed to function as personal digital assistants, portable media players, internet browsers, gaming devices, and much more...

 and Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

 devices, recent Motorola
Motorola
Motorola, Inc. was an American multinational telecommunications company based in Schaumburg, Illinois, which was eventually divided into two independent public companies, Motorola Mobility and Motorola Solutions on January 4, 2011, after losing $4.3 billion from 2007 to 2009...

 and Sony Ericsson
Sony Ericsson
Sony Ericsson Mobile Communications AB is a joint venture established on October 1, 2001 by the Japanese consumer electronics company Sony Corporation and the Swedish telecommunications company Ericsson to manufacture mobile phones....

 devices, and all Nokia
Nokia
Nokia Corporation is a Finnish multinational communications corporation that is headquartered in Keilaniemi, Espoo, a city neighbouring Finland's capital Helsinki...

 Series 60 3rd Edition
S60 (software platform)
The S60 Platform is a software platform for mobile phones that runs on Symbian OS. It was created by Nokia, who made the platform open source and contributed it to the Symbian Foundation. S60 has been used by mobile device manufacturers including Siemens mobile, Lenovo, LG Electronics, Panasonic...

devices.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK