The Java Location API
by David Parsons

Listing One

(a)

try
{
  locationProvider = LocationProvider.getInstance(null);
}
  catch(LocationException e)
{
  // handle exception
}



(b)

try
{
  location = locationProvider.getLocation(20);
}
  catch(LocationException e)
{
  // handle exception
}
  catch(InterruptedException e)
{
  // handle exception
}

Listing Two

latitude = new StringItem("Latitude: " +
  Coordinates.convert(coordinates.getLatitude(), Coordinates.DD_MM_SS), "");
longitude = new StringItem("Longitude: " +
  Coordinates.convert(coordinates.getLongitude(), Coordinates.DD_MM_SS), "");
altitude = new StringItem("Altitude: " + coordinates.getAltitude(), "");
direction = new StringItem("Course: " + location.getCourse(), "");
speed = new StringItem("Speed: " + location.getSpeed(), "");
locationForm.append(latitude);
locationForm.append(longitude);
locationForm.append(altitude);
locationForm.append(direction);
locationForm.append(speed);
display.setCurrent(locationForm);

Listing Three

(a)

public class LocationListenerMIDlet extends MIDlet
  implements CommandListener, LocationListener

(b)

try
{
  locationProvider = LocationProvider.getInstance(null);
  locationProvider.setLocationListener(this, 20, 10, 10);
}
  catch(LocationException e)
{
  // handle exception
}


(c)

public void locationUpdated(LocationProvider provider, Location location)
{
  this.locationInfo();
}


Listing Four

(a)

public class ProximityListenerMIDlet extends MIDlet 
  implements CommandListener, LocationListener, ProximityListener 



(b)

try
{
  locationProvider = LocationProvider.getInstance(null);
  locationProvider.setLocationListener(this, 20, 10, 10);
// radius used to trigger proximity alerts
  float radius = 100.0F;
// coordinates of the Study Centre
  locationProvider.addProximityListener(this, studyCentreCoordinates, radius);
// coordinates of the Quadrangle building
  locationProvider.addProximityListener(this, quadrangleCoordinates, radius);
// coordinates of the Atrium
  locationProvider.addProximityListener(this, atriumCoordinates, radius);
}


(c)  

public void proximityEvent(Coordinates coordinates, Location location)
{
  if(coordinates.equals(studyCentreCoordinates))
  {
    showStudyCentreProximityAlert();
  }
  if(coordinates.equals(quadrangleCoordinates))
  {
     showQuadrangleProximityAlert();
  }
  if(coordinates.equals(atriumCoordinates))
  {
    showAtriumProximityAlert();
  }
}







1


