use of org.activityinfo.legacy.shared.reports.content.MapMarker in project activityinfo by bedatadriven.
the class LeafletMarkerDrilldownEventHandler method handle.
@Override
public void handle(Event event) {
final JSObject targetOptions = event.getTarget().getProperty("options");
MapMarker markerModel = LeafletMarkerFactory.getModel(targetOptions);
final Filter effectiveFilter = new Filter();
effectiveFilter.addRestriction(DimensionType.Site, markerModel.getSiteIds());
effectiveFilter.addRestriction(DimensionType.Indicator, markerModel.getIndicatorIds());
drillDownEditor.drillDown(effectiveFilter);
}
use of org.activityinfo.legacy.shared.reports.content.MapMarker in project activityinfo by bedatadriven.
the class LeafletReportOverlays method addMarkers.
public Extents addMarkers(List<MapMarker> markers, EventHandler<Event> markerEventHandler) {
Extents extents = Extents.emptyExtents();
for (MapMarker marker : markers) {
markerLayer.addLayer(LeafletMarkerFactory.create(marker, markerEventHandler));
extents.grow(marker.getLat(), marker.getLng());
}
return extents;
}
use of org.activityinfo.legacy.shared.reports.content.MapMarker in project activityinfo by bedatadriven.
the class ExcelMapDataExporter method render.
@Override
public void render(ReportElement element, OutputStream stm) throws IOException {
if (!(element instanceof MapReportElement)) {
throw new RuntimeException("ExcelMapDataExporter accepts only MapElements");
}
MapContent content = ((MapReportElement) element).getContent();
Workbook book = new HSSFWorkbook();
Sheet sheet = book.createSheet();
Helper helper = new Helper(book);
Row headerRow = sheet.createRow(0);
helper.addCell(headerRow, 0, "Latitude");
helper.addCell(headerRow, 1, "Longitude");
helper.addCell(headerRow, 2, "Value");
helper.addCell(headerRow, 3, "Color");
helper.addCell(headerRow, 4, "Icon");
int rowIndex = 1;
for (MapMarker marker : content.getMarkers()) {
Row dataRow = sheet.createRow(rowIndex++);
helper.addCell(dataRow, 0, marker.getLat());
helper.addCell(dataRow, 1, marker.getLng());
if (marker instanceof BubbleMapMarker) {
BubbleMapMarker bmarker = (BubbleMapMarker) marker;
helper.addCell(dataRow, 2, bmarker.getValue());
helper.addCell(dataRow, 3, bmarker.getColor());
}
if (marker instanceof IconMapMarker) {
IconMapMarker imarker = (IconMapMarker) marker;
if (imarker.getIcon() != null) {
helper.addCell(dataRow, 4, imarker.getIcon().getName());
}
}
}
book.write(stm);
}
use of org.activityinfo.legacy.shared.reports.content.MapMarker in project activityinfo by bedatadriven.
the class MgMapIntegrationTest method siteBoundsToAdminLevelsAreMappedAsBubbles.
@Test
public void siteBoundsToAdminLevelsAreMappedAsBubbles() throws IOException {
BubbleMapLayer layer = new BubbleMapLayer();
layer.addIndicator(NUMBER_OF_BENE_INDICATOR_ID);
generateMap(layer, "mg-bubbles");
assertThat(content.getMarkers().size(), equalTo(10));
MapMarker marker = getMarkerForSite(1336279918);
assertThat(marker.getX(), equalTo(262));
assertThat(marker.getY(), equalTo(113));
}
use of org.activityinfo.legacy.shared.reports.content.MapMarker in project activityinfo by bedatadriven.
the class LeafletMarkerFactory method create.
public static Marker create(MapMarker mapMarker, final EventHandler... markerEventHandlers) {
final Marker marker;
if (mapMarker instanceof IconMapMarker) {
marker = createIconMapMarker((IconMapMarker) mapMarker);
} else if (mapMarker instanceof PieMapMarker) {
marker = createPieMapMarker((PieMapMarker) mapMarker);
} else if (mapMarker instanceof BubbleMapMarker) {
marker = createBubbleMapMarker((BubbleMapMarker) mapMarker);
} else {
final Options options = new Options();
setModel(options.getJSObject(), mapMarker);
marker = new Marker(toLatLng(mapMarker), options);
}
if (markerEventHandlers != null) {
for (EventHandler handler : markerEventHandlers) {
EventHandlerManager.addEventHandler(marker, EventHandler.Events.click, handler);
}
}
return marker;
}
Aggregations