Renders an interactive Leaflet.js map with circles and markers sourced from query data, with live colour and popup updates via RPC polling every 4 seconds.
LEAFLET — set as ReportType in def_report.
def Render(self, Param1="", Param2="", Param3="") -> str:
Params are unused. Expects self.data_list rows with columns: Latitude, Longitude, CircleColour, FillColour, Opacity, Radius, Note, and optionally Type ("marker" to use a pin instead of a circle). The initial map centre and zoom are taken from self._Options as [lat,lng],zoom; if empty, the first data row's coordinates are used. Returns an HTML fragment.
RpcGetdata(data={})Re-executes the report's query (SQL or JSON) and returns [json_string, guid] for client-side marker updates.
Loads Leaflet 1.6.0 CSS and JS from unpkg with SRI integrity hashes. Tile layer uses Mapbox Streets v11 with a hardcoded access token. Loads axion.rpc.js. New markers that appear in poll results but were not in the initial render are dynamically added to the map.