Bonjour,

Je suis actuellement bloqué pour porter en JSNI un code JS simple mais utilisant un callback.

Dans l'exemple ci-dessous, c'est la ligne :
service.search(request, callback);
Que je n'arrive pas à porter en JSNI : callback représente une ref vers la fonction callback() un peu plus bas... mais pour l'instant je fais choux blanc.

Quelqu'un a t'il des exemples de code JSNI faisant appel à une méthode où se trouve en paramètre le nom de la méthode à appeller pour le callback ?

Extrait du JS ( qui fonctionne dans la page HTML) :
function initialize() {
var pyrmont = new google.maps.LatLng(-33.8665433, 151.1956316);

map = new google.maps.Map(document.getElementById('map'), {
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: pyrmont,
zoom: 15
});

var request = {
location: pyrmont,
radius: 500,
types: ['restaurant']
};
infowindow = new google.maps.InfoWindow();
var service = new google.maps.places.PlacesService(map);
service.search(request, callback);
}

function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createMarker(results[i]);
}
}
}


Concrètement dans le code java impossible d'arriver à l'intérieur de la méthode callback :
public native void initialize() /*-{
var pyrmont = new $wnd.google.maps.LatLng(-33.8665433, 151.1956316);

var request = {
location: pyrmont,
radius: 500,
types: ['restaurant']
};


// Read instance field on this
var valToto = @com.yadumonde.web.desktop.client.YadumondeMap::toto;

var theTotoMap = this.@com.yadumonde.web.desktop.client.YadumondeMap::theMap;

var service = new $wnd.google.maps.places.PlacesService(theTotoMap);
alert("service = "+service);

var sss="yooo";

var js_callback=function callback(results, status) {
$wnd.alert("jscallback called");
if (status == $wnd.google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
$wnd.alert(results[i]);
}
}
};

service.search(request, $wnd.js_callback);


}-*/;

D'avance merci