View Single Post
Old 11-06-2012, 04:34 PM   #1
hananghabour
New Member
 
Join Date: Nov 2012
Model: 7100t
PIN: N/A
Carrier: 3g
Posts: 1
Default Trying to code and posted in the wrong place

Please Login to Remove!

hi any one here help me plz i am beginging in blackberry development i want to calculate distance when i drive my car to stop . my code get latitude , logitude , speed and show map correctly but temporary distance = 0
this is the code
public LocationHandler(LocationMainScreen screen) {
this.screen = screen;
}

public Coordinates[] getCoordinateHistory() {
Coordinates[] coordinates = new Coordinates[coordinateHistory.size()];
coordinateHistory.copyInto(coordinates);
return coordinates;
}

public void locationUpdated(LocationProvider provider, Location location) {
QualifiedCoordinates qualifiedCoordinates = location.getQualifiedCoordinates();

screen.setLocation(qualifiedCoordinates.getLongitu de(), qualifiedCoordinates.getLatitude());

String message = "Successfully got location at ";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
message += simpleDateFormat.format(new Date(location.getTimestamp()));

if (coordinateHistory.size() > 0) {
Coordinates lastCoordinates = (Coordinates)coordinateHistory.lastElement();
message += "\nDistance from last update: " + lastCoordinates.distance(qualifiedCoordinates);
}

coordinateHistory.addElement(qualifiedCoordinates) ;
//--------------------------------------------------------

public void run() {
Criteria csCriteria = new Criteria();
csCriteria.setHorizontalAccuracy(Criteria.NO_REQUI REMENT);
csCriteria.setVerticalAccuracy(Criteria.NO_REQUIRE MENT);
csCriteria.setCostAllowed(true);
csCriteria.setPreferredPowerConsumption(Criteria.P OWER_USAGE_LOW);

Criteria criteria = new Criteria();
criteria.setVerticalAccuracy(50);
criteria.setHorizontalAccuracy(50);
criteria.setCostAllowed(true);
criteria.setPreferredPowerConsumption(Criteria.POW ER_USAGE_HIGH);

try {
screen.setMessage("Getting location...");
LocationProvider provider = LocationProvider.getInstance(criteria);
Location location = provider.getLocation(-1);

locationUpdated(provider, location);
if (periodicUpdates) {
// Update every 3 minutes
provider.setLocationListener(this, 180, -1, 10);
}
} catch (LocationException e) {
screen.setMessage("LocationException occurred getting location: " + e.getMessage());
} catch (InterruptedException e) {
screen.setMessage("InterruptedException occurred getting location: " + e.getMessage());
}
}
Offline   Reply With Quote