SHOW Signed
 

net.rim.device.api.lbs
Class Locator

java.lang.Object
  |
  +--net.rim.device.api.lbs.Locator

public final class Locator
extends Object

Locator is a geocoding service that allows you to obtain location information for an address. You can use the the Locator class to obtain latitudinal and longitudinal information using either an AddressInfo object for formatted input or a String object for non-formatted input. A successful request for geocode information return an enumeration of Landmarks.

Requests for geocode information are synchronous, but can be interrupted by invoking cancel(). An application can use the Locator class to make only one request at a time. Making more than one request results in a MapServiceException.

An application must request geocode information outside of the event dispatch thread. Requests made on the event dispatch thread will be denied and result in a MapServiceException.

Each request for geocode information is sent to the LBS Locator Server. If a request fails, a LocatorException is thrown with an error code that indicates the reason for the failure. If a request fails or stalls at the transport level, it will be cancelled as specified by the value for REQUEST_TIMEOUT.

If the LBS Map API is not installed on a BlackBerry device, requests for geocode information will throw a MapServiceException.

Request results are not cached on the BlackBerry device.

Usage Scenarios

Scenario 1: Freeform String Geocode Request

Returns to landmarkArray an array of Landmark objects that fit the “Waterloo” search criteria.

     Landmark[] landmarkArray = Locator.geocode(“Waterloo”, null);

Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

Since:
JDE 4.6.0

Field Summary
 Category: Signed static int REQUEST_TIMEOUT
          The timeout value, in seconds, before the request will be cancelled.
 
Method Summary
 Category: Signed static void cancel()
          Cancels the Locator request for the calling application process.
 Category: Signed static Landmark[] geocode(String freeformString, Coordinates startCoords)
          Starts a request for geocode information using a non-formatted String as input.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail


REQUEST_TIMEOUT

public static final int REQUEST_TIMEOUT
The timeout value, in seconds, before the request will be cancelled.
Since:
JDE 4.6.0
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.
Method Detail

cancel

public static void cancel()
Cancels the Locator request for the calling application process.
Since:
JDE 4.6.0
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.

geocode

public static Landmark[] geocode(String freeformString,
                                 Coordinates startCoords)
                          throws LocatorException
Starts a request for geocode information using a non-formatted String as input.
For example: 'Paris', '10 Downing St London UK', '90210 USA' are valid search requests.
Parameters:
freeformString - - the search String used as input into a request for geocode information.
startCoords - - hint Coordinates for starting the search specified in a request. This request uses this data to refine the starting point. This parameter can be null.
Returns:
array of Landmarks: the first array element contains the most relevant Landmark to the locator request. May be null if the geocode request is cancelled.
Throws:
LocatorException - - if request could not be fulfilled. To obtain the reason the request is not fulfilled, invoke LocatorException.getErrorCode().
MapServiceException - - if the LBS Map API is not installed on a BlackBerry device or if an application makes more than one request at a time.
IllegalStateException - - if a request is made on the event dispatch thread. See Application.isEventDispatchThread().
Since:
JDE 4.6.0
Category:
Signed: This element is only accessible by signed applications. If you intend to use this element, please visit http://www.blackberry.com/go/codesigning to obtain a set of code signing keys. Code signing is only required for applications running on BlackBerry smartphones; development on BlackBerry Smartphone Simulators can occur without code signing.



Copyright 1999-2009 Research In Motion Limited. 295 Phillip Street, Waterloo, Ontario, Canada, N2L 3W8. All Rights Reserved.
Copyright 1993-2003 Sun Microsystems, Inc. 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
Copyright 2002-2003 Nokia Corporation All Rights Reserved.
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.