map
Interactive vector map (MapLibre GL + OpenFreeMap). A TRUSTED host-page plugin (like tour) — it runs in the host page with fetch/worker access so it can render OpenFreeMap vector tiles (free for commercial use, no API key). Canonical doc is {lat,lng,zoom,markers[]}; click-to-add draggable pins whose popup is a live label editor with per-pin delete, a style switcher (layers), geolocate + scale controls, optional marker clustering, an optional place-search box backed by the plugin's own same-origin geocode proxy, and a fly-to side panel. The host page CSP MUST allow connect-src/img-src https://tiles.openfreemap.org and worker-src blob: (see docs/geomap.md); search needs no extra CSP host because it is proxied through the plugin's own origin. Place search is opt-in (geomap.WithSearch): enabling it registers /__gofastr/plugin/map/geocode and adds the optionalCapability geocode:search.
Install and mount
go get github.com/DonaldMurillo/gofastr-plugins@v0.5.0
import "github.com/DonaldMurillo/gofastr-plugins/geomap"
app.RegisterPlugin(geomap.New())Isolation
Runs in the host page
Manifest
- Plugin version
- 0.3.0
- Framework compat
- >=0.28.0
- Isolation
- trusted-host-page
- Sandbox tokens
- none
- Capabilities
- document:read, document:write, theme:read
- Optional capabilities
- geocode:search
- CSP additions
- none
- Route prefix
/__gofastr/plugin/map- Entry
- Schema
- map-v1
- Min height
- 360px
- Docs
- docs/geomap.md