X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.app.geo%2Fsrc%2Forg%2Fargeo%2Fapp%2Fgeo%2Fux%2FMapPart.java;h=84f4dd541cf6b0acfed6623e6c5680eb48965ac4;hb=6e13b9416a5fd1f5477eb7233f86d3eacbb88c55;hp=d9536a339b81e47d45bb0060af1f5552b8293489;hpb=78449dce988dbc690234d0508c6fd609feabe45a;p=gpl%2Fargeo-suite.git diff --git a/org.argeo.app.geo/src/org/argeo/app/geo/ux/MapPart.java b/org.argeo.app.geo/src/org/argeo/app/geo/ux/MapPart.java index d9536a3..84f4dd5 100644 --- a/org.argeo.app.geo/src/org/argeo/app/geo/ux/MapPart.java +++ b/org.argeo.app.geo/src/org/argeo/app/geo/ux/MapPart.java @@ -2,15 +2,28 @@ package org.argeo.app.geo.ux; /** An UX part displaying a map. */ public interface MapPart { - enum Format { + /** A supported geographical data format. */ + enum GeoFormat { GEOJSON, GPX; } - void addPoint(Double lng, Double lat); + void addPoint(double lng, double lat, String style); - void addUrlLayer(String layer, Format format); + void addUrlLayer(String url, GeoFormat format, String style); void setZoom(int zoom); - void setCenter(Double lng, Double lat); + void setCenter(double lng, double lat); + + /** Event when a feature has been single-clicked. */ + record FeatureSingleClickEvent(String path) { + }; + + /** Event when a feature has been selected. */ + record FeatureSelectedEvent(String path) { + }; + + /** Event when a feature popup is requested. */ + record FeaturePopupEvent(String path) { + }; }