Google map API v2 J2ME

haytham -  
 Haytham -
Bonsoir tous le monde,j'ai BESOIN D'AIDE je commence à développer en J2ME , on nous a demandé de faire une application qui affiche des endroits avec des marqueurs en se basant sur des adresses qu'on doit taper dans un TextField j'ai écrit un ptit bout de code en se basant sur un exemple du site http://www.jappit.com/blog/midmaps-google-maps-java-me-library/#comments mais qu'on je lance l'aplication l'erreur suivante s'affiche :

"Uncaught exception java/lang/NumberFormatException: <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>Sorry...</title><style> body { font-family: verdana."


voici le code :
Et Merci


import com.jappit.midmaps.googlemaps.GoogleMaps;
import com.jappit.midmaps.googlemaps.GoogleMapsCoordinates;
import com.jappit.midmaps.googlemaps.GoogleMapsGeocoder;
import com.jappit.midmaps.googlemaps.GoogleMapsGeocoderHandler;
import com.jappit.midmaps.googlemaps.GoogleMapsMarker;
import com.jappit.midmaps.googlemaps.GoogleStaticMap;
import com.jappit.midmaps.googlemaps.GoogleStaticMapHandler;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Canvas;
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.lcdui.Graphics;
import javax.microedition.lcdui.List;
import javax.microedition.lcdui.TextField;
import javax.microedition.lcdui.Ticker;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;

public class MapMidlet extends MIDlet implements CommandListener {

TextField searchbox = new TextField("Address", "Enter your address here", 100, TextField.ANY);
Form menu = new Form("Search Menu");
List type = new List("Type", List.EXCLUSIVE);
Command search = new Command("Search", Command.OK, 0);
Command Exit = new Command("exit", Command.EXIT, 1);
Display display = Display.getDisplay(this);
Ticker ti = new Ticker("Find me If you can !");
Alert alert = new Alert("Please enter an address", "address is missing", null, AlertType.ERROR);
String adress;

public MapMidlet() {
}

protected void destroyApp(boolean unconditional) {

}

protected void pauseApp() {

}

protected void startApp() {
adress = searchbox.getString();
menu.setCommandListener(this);
menu.append(searchbox);
menu.addCommand(search);
menu.addCommand(Exit);
display.setCurrent(menu);

//display.setCurrent(new MapCanvas(this));
}

public void commandAction(Command c, Displayable d) {

if (c == search) {

display.setCurrent(new MapCanvas(this));
} else {
notifyDestroyed();
}

}

public class MapCanvas extends Canvas implements GoogleStaticMapHandler, GoogleMapsGeocoderHandler {

GoogleMaps gMaps = null;

GoogleStaticMap map = null;

String API_KEY = "AIzaSyBe1yXRcCXWQB_6ReSGbf0lH8XVwTvNpSQ";
MapMidlet mid;

public MapCanvas(MapMidlet mid) {

this.mid = mid;
gMaps = new GoogleMaps(API_KEY);

map = gMaps.createMap(getWidth(), getHeight(), GoogleStaticMap.FORMAT_PNG);

//map.setHandler(this);
//map.setCenter(new GoogleMapsCoordinates(36.8189700,10.1657900));
//map.setZoom(15);
//map.update();
GoogleMapsGeocoder geocoder = gMaps.createGeocoder();

geocoder.setHandler(this);

geocoder.geocodeAddress(adress);
}

protected void paint(Graphics g) {
map.draw(g, 0, 0, Graphics.TOP | Graphics.LEFT);
}

public void GoogleMapsGeocodeError(String address, int errorCode, String errorDescription) {
System.out.println("Geocode error: " + errorCode + ", " + errorDescription);
}

public void GoogleMapsGeocodeSuccess(String address, GoogleMapsCoordinates coordinates, int accuracy) {
map.setCenter(coordinates);

map.addMarker(new GoogleMapsMarker(coordinates));

map.setZoom(accuracy);

map.update();
}

public void GoogleStaticMapUpdateError(GoogleStaticMap map, int errorCode, String errorMessage) {
System.out.println("map error: " + errorCode + ", " + errorMessage);
}

public void GoogleStaticMapUpdated(GoogleStaticMap map) {
System.out.println("map loaded");

repaint();
}

}

}
A voir également:

1 réponse

ElementW Messages postés 4814 Date d'inscription   Statut Contributeur Dernière intervention   1 223
 
'lut, désolé pour toi et tous ceux qui ont le même travail à faire, mais...
J2ME est MORT.
Android a pris le dessus et se programme en J2SE (converti après mais bon...), et pour PC y'a que J2SE.
Et comme J2ME est mort, le développeur de cette librairie ne la mets plus à jour pour suivre les changements de Google Maps, d'où le message d'erreur.
Le post de blog que tu mets en lien date de 2011, il s'est passé pas mal de choses depuis déjà 3 ans, comme tu peux le constater.

"on nous a demandé de...": parles-en avec la personne qui t'as donné le travail; il faut que tu travailles avec J2SE, et plus jamais J2ME, il a perdu tout son intérêt. A moins que tu ne sois obligé/souhaites travailler qu'avec d'anciens appareils, ce qui est compréhensible, mais dans ce cas il va falloir utiliser autre chose que Google Maps.
from human import idiocy
del idiocy
0
Haytham
 
Merci gravgun, mais malheureusement je suis obligé d'utiliser J2ME et je sait qu'elle une technologie dépassée et qu'elle n'est plus utilisée mais je ne pas le choix :( , si j'avait le choix sans doute j'utiliserai Android . Merci en tous pour votre réponse ^^
0