Я пытаюсь добавить несколько маркеров на мою GWT-карту. Если я делаю это с геокодером, он работает просто отлично ... Но я также получаю значения из базы данных, так что я могу разместить их через Lat Lng.
Это код:
public static void markerSetzen(final double lat, final double lon) {
/* Markeroptionen setzen */
MarkerOptions markeroptions = MarkerOptions.newInstance();
markeroptions.setBouncy(true);
markeroptions.setBounceGravity(0.3);
final Marker marker = new Marker(LatLng.newInstance(lat, lon),
markeroptions);
map.addOverlay(marker);
marker.addMarkerClickHandler(new MarkerClickHandler() {
@Override
public void onClick(MarkerClickEvent event) {
// popup- Fenster erstellen
map.getInfoWindow().open(
LatLng.newInstance(lat, lon),
new InfoWindowContent(image + name + "<br>" + ort
+ "<br>" + kategorie + "<br><br>"
+ beschreibung + "<br>" + web));
}
});
}
Исключение всегда выдается в map.addOverlay (). Я проверяю возвращенные двойники из БД
через Сисо, и они просто отлично ...
Я надеюсь, что кто-то может помочь,
заранее спасибо
РЕДАКТИРОВАТЬ: это код метода геокодера, который делает то, что я хочу:
public static void koordSuchen(final double lat, final double lon,
final String ort, final String image, final String name,
final String kategorie, final String beschreibung,
final String web, final int zoomlevel) {
// Geokodierung von Adressen herausbekommen
Geocoder geocoder = new Geocoder();
geocoder.getLatLng(ort, new LatLngCallback() {
@Override
public void onSuccess(LatLng point) {
final LatLng ortKoord = LatLng.newInstance(lat, lon);
// neuen Marker erstellen
Marker marker = new Marker(ortKoord);
// neues Marker- Overlay erstellen
map.addOverlay(marker);
// Marker Klickhandler erstellen (Bei klick auf Marker oeffnet
// sich ein Popup)
marker.addMarkerClickHandler(new MarkerClickHandler() {
@Override
public void onClick(MarkerClickEvent event) {
// popup- Fenster erstellen
map.getInfoWindow().open(
ortKoord,
new InfoWindowContent(image + name + "<br>"
+ ort + "<br>" + kategorie + "<br><br>"
+ beschreibung + "<br>" + web));
}
});
}
@Override
public void onFailure() {
}
});
}