The problem is fixed.
The problem was that when creating MapModelit was a local var:
public MapModel getModel() {
final MapModel mapModel = new DefaultMapModel();
final Set<MapEventDto> events = service.loadEvents();
for (MapEventDto event : events) {
final double latitude = event.getLatitude().doubleValue();
final double longitude = event.getLongitude().doubleValue();
final String magnitude = event.getMagnitude().toString();
final String title = "Id: " + event.getId() + ", Lat: " + latitude + ", Lng: " + longitude + ", Mag: " + magnitude;
mapModel.addOverlay(new Marker(new LatLng(latitude, longitude), title));
}
return mapModel;
}
All MapModelmay be garbage collected after the map is displayed (since it is no longer needed). Therefore, when an overlay event is triggered, it will no longer be MapModel.
MapModel Bean, .