Dúvidas sobre GPS!

Boa tarde a todos, estou tentando usar a javax.microedition.location para usar o gps que tenho no celular, mas está dando alguns erros:

Segue abaixo o código:

package gps;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.location.Criteria;
import javax.microedition.location.Location;
import javax.microedition.location.LocationProvider;
import javax.microedition.location.QualifiedCoordinates;
import javax.microedition.midlet.MIDlet;

public class Gps extends MIDlet implements CommandListener {
	
	public Gps() {
		screen = new Form ("espera....");
		screen.append("procurando por localizações...");
		
	    screen.addCommand(exit);
	    screen.setCommandListener(this);
	    
	    Display.getDisplay(this).setCurrent(screen);
	} 

	protected void startApp() {  // método de iniciação da Aplicação
		 
		try {
			/* Os critérios usados para a seleção do fornecedor da posição são 
			definidos pelos valores nesta classe.*/ 
			cr = new Criteria();
			
			cr.setHorizontalAccuracy(1000); // exatidão na horizontal
			cr.setVerticalAccuracy(1000); // exatidão na vertical
			
			cr.setPreferredPowerConsumption(Criteria.POWER_USAGE_LOW);
			
			gps = LocationProvider.getInstance(cr);
			
			loc = gps.getLocation(60);
			
			/* representa coordenadas porque os valores da latitude-longitude-altura
			que são associados com um valor da exatidão. */			  
			
			qc=loc.getQualifiedCoordinates();
			
			alt = qc.getAltitude();
			alt = 949393.90;
			
			lat = qc.getLatitude();
			lat = 3627272.90;
			
			lon = qc.getLongitude();
			lon = 98484;
			
			screen.append("Altura: " + alt);
			screen.append("Latitude: " + lat);
			screen.append("Longitude: " + lon);
			
		}
		catch (Exception e) {
			screen.append("Exception: " + e);
		}		 
	} 

	protected void pauseApp() {
		
	}
	
	protected void destroyApp(boolean bool) {
		
	}

	public void commandAction(Command cmd, Displayable disp) {
		if (cmd == exit) {  
			destroyApp(false);
			notifyDestroyed();
		}
	}
	
	// ---- variáveis ----
	private Form screen;
	private Command exit;
	private double lat;
	private double lon;
	private double alt;
	private Criteria cr;	
	private LocationProvider gps;
	private Location loc;
	private QualifiedCoordinates qc;
}

O erro:

Running with storage root MediaControlSkin
java.lang.NoClassDefFoundError: javax/microedition/location/Coordinates
at com.sun.midp.midlet.MIDletState.createMIDlet(+14)
at com.sun.midp.midlet.Scheduler.schedule(+52)
at com.sun.midp.main.Main.runLocalClass(+2
at com.sun.midp.main.Main.main(+116)
Execution completed.
695052 bytecodes executed
6 thread switches
745 classes in the system (including system classes)
3632 dynamic objects allocated (100696 bytes)
3 garbage collections (85732 bytes collected)

Desde já agradeço a ajuda!!