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());
}
}
|