{"id":346559,"date":"2026-08-03T06:09:47","date_gmt":"2026-08-03T06:09:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/axismundi-map\/"},"modified":"2026-08-03T06:09:33","modified_gmt":"2026-08-03T06:09:33","slug":"axismundi-map","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/axismundi-map\/","author":21128503,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.2.2","stable_tag":"0.2.2","tested":"7.0.2","requires":"6.7","requires_php":"8.1","requires_plugins":null,"header_name":"Axismundi Map","header_author":"KIM JIWOON","header_description":"Front-end map block that draws Axismundi Geo Data (geotags, GPS tracks) over a self-hosted basemap, reusing the Geo Data plugin's map assets.","assets_banners_color":"","last_updated":"2026-08-03 06:09:33","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/Jiwoon-Kim\/axismundi\/tree\/main\/products\/distributables\/plugins\/axismundi-map","header_author_uri":"https:\/\/designbusan.ai.kr","rating":0,"author_block_rating":0,"active_installs":0,"downloads":35,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"0.2.2":{"tag":"0.2.2","author":"kimjiwoon","date":"2026-08-03 06:09:33"}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"axismundi\/map":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"axismundi\/map","version":"0.2.2","title":"Axismundi Map","category":"media","icon":"location-alt","description":"A self-hosted map that draws geotags or a GPS track from Axismundi Geo Data.","textdomain":"axismundi-map","keywords":["map","geo","geotag","track","pmtiles"],"attributes":{"source":{"type":"string","default":"none"},"bbox":{"type":"string","default":""},"feedUrl":{"type":"string","default":""},"itemsToShow":{"type":"number","default":0},"displayAuthor":{"type":"boolean","default":true},"displayDate":{"type":"boolean","default":false},"displayExcerpt":{"type":"boolean","default":true},"excerptLength":{"type":"number","default":55},"openInNewTab":{"type":"boolean","default":false},"trackId":{"type":"integer","default":0},"mediaIds":{"type":"array","default":[]},"height":{"type":"number","default":360},"zoom":{"type":"number","default":0},"showPopups":{"type":"boolean","default":true},"showVisitorLocation":{"type":"boolean","default":false}},"supports":{"align":["wide","full"],"html":false,"interactivity":{"clientNavigation":true},"spacing":{"margin":true}},"editorScript":"axismundi-map-edit","style":"file:.\/style.css","render":"file:.\/render.php","viewScriptModule":"file:.\/sync.js"}},"tagged_versions":["0.2.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[2591,6341,2909,274292,549],"plugin_category":[49],"plugin_contributors":[270183],"plugin_business_model":[],"class_list":["post-346559","plugin","type-plugin","status-publish","hentry","plugin_tags-geo","plugin_tags-geotag","plugin_tags-map","plugin_tags-pmtiles","plugin_tags-track","plugin_category-maps-and-location","plugin_contributors-kimjiwoon","plugin_committers-kimjiwoon"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/axismundi-map.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Axismundi Map adds one block, <strong>Axismundi Map<\/strong> (axismundi\/map), that renders a\nfront-end map from the data and assets the Axismundi Geo Data plugin provides. It\ndoes not bundle its own map libraries or tile data \u2014 it reuses Geo Data's basemap\nprovider and GeoJSON export.<\/p>\n\n<p>The block:<\/p>\n\n<ul>\n<li>draws the basemap resolved by Geo Data's front-end provider \u2014 Leaflet for custom\nraster tiles, MapLibre + the Protomaps theme for an uploaded PMTiles map pack\n(the public OpenStreetMap tile server is never used on the front end);<\/li>\n<li>overlays a GeoJSON source \u2014 geotags (optionally within a bounding box),\nselected media attachments (public GPS photos plus GPX\/KML tracks), or a\nsingle GPS track attachment \u2014 fetched from Geo Data's REST endpoints;<\/li>\n<li>can overlay an external GeoRSS Simple \/ W3C Geo feed (including federated\nfeeds): Geo Data fetches and caches it server-side and converts it to GeoJSON,\nso no public URL proxy is exposed. Points, lines, and polygons \/ boxes render;<\/li>\n<li>shows a marker \/ line \/ polygon per feature, with optional click popups. Public\nGPS photo popups can include the attachment thumbnail;<\/li>\n<li>can show an opt-in visitor location control on the front end. The browser\nlocation prompt is only triggered when the visitor presses the map control;<\/li>\n<li>supports geo taxonomy archives: a geotag archive focuses on that place, while\na geo-area archive maps the deduplicated geotags attached to posts on the\ncurrent query page. Enhanced pagination replaces only the GeoJSON overlay and\nrefits the persistent map instance so every marker remains visible.<\/li>\n<\/ul>\n\n<p>Block attributes: source (none \/ current archive \/ geotags \/ selected media \/\ntrack \/ GeoRSS feed), bbox, feed url, media ids, track id, height, zoom (0 =\nauto-fit), show popups, and show visitor location control.<\/p>\n\n<p>This is v0.2: a GeoJSON and GeoRSS map block plus a native Query Map View for\ngeo archives. Google \/ Naver renderers, clustering, and elevation charts are\nlater work.<\/p>\n\n<h3>External services<\/h3>\n\n<p>When the Axismundi Geo Data provider is configured to use an uploaded PMTiles\nmap pack, this plugin configures MapLibre to fetch map font glyphs and sprite\nimages from the Protomaps Basemaps Assets project, hosted on GitHub Pages. The\nvisitor's browser makes these requests while rendering the map. The requests\ninclude the visitor's IP address and standard HTTP request metadata, plus the\nrequested font range or sprite filename. No WordPress account data, post data,\nor visitor location is sent by this plugin to that service.<\/p>\n\n<ul>\n<li>Service: Protomaps Basemaps Assets (GitHub Pages), used for PMTiles map labels\nand symbols. It is not contacted when the configured provider uses custom\nraster tiles.<\/li>\n<li>Terms: https:\/\/protomaps.com\/legal<\/li>\n<li>Privacy: https:\/\/docs.github.com\/en\/site-policy\/privacy-policies\/github-privacy-statement<\/li>\n<\/ul>\n\n<p>Site administrators separately choose and host their raster tiles or PMTiles\npack through Axismundi Geo Data. Those configured providers may have their own\nterms and privacy policies.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate Axismundi Geo Data, then set a front-end map provider\n(custom raster tiles or an uploaded PMTiles map pack) under Settings &gt; Geodata.<\/li>\n<li>Upload and activate this plugin.<\/li>\n<li>Add the Axismundi Map block to a post or page and choose a source.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>0.2.2<\/h4>\n\n<ul>\n<li>Document the Protomaps Basemaps Assets external service used by the PMTiles\nprovider.<\/li>\n<li>Escape the map Interactivity context through the block wrapper at output.<\/li>\n<\/ul>\n\n<h4>0.2.1<\/h4>\n\n<ul>\n<li>Follow Axismundi Geodata's namespaced internal taxonomy identifiers while keeping the public map and GeoJSON query contract unchanged.<\/li>\n<\/ul>\n\n<h4>0.2.0<\/h4>\n\n<ul>\n<li>Add a GeoRSS feed source: overlay an external GeoRSS Simple \/ W3C Geo feed,\nfetched, cached, and converted to GeoJSON server-side by Axismundi Geo Data.<\/li>\n<li>Render polygon and box geometries (fill + outline on MapLibre, native on\nLeaflet) in addition to points and lines.<\/li>\n<li>Rich GeoRSS marker popups: representative image, title link, structured author,\ndate, and excerpt \u2014 with per-block toggles (number of items, author, date,\nexcerpt, excerpt length, open links in new tab) mirroring the core RSS block.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Fit geo-area archive maps to all geotag markers on the current query page;\nwhen there are no markers, fall back to the term's manual zoom or provider\nviewport.<\/li>\n<li>Keep point overlays above the PMTiles raster fallback on wide-area views.<\/li>\n<\/ul>\n\n<h4>0.1.1<\/h4>\n\n<ul>\n<li>Add the geo-area Query Map View: derive markers from geotags on the current\ninherited-query page and update them through the Interactivity API during\nenhanced pagination without remounting the map.<\/li>\n<li>Centre empty geo-area maps on the term coordinate.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial release: the axismundi\/map block \u2014 basemap (Leaflet raster \/ MapLibre\nPMTiles) plus geotags \/ selected media \/ track GeoJSON overlay, reusing\nAxismundi Geo Data's map assets and REST export.<\/li>\n<\/ul>","raw_excerpt":"Front-end map block that draws Axismundi Geo Data geotags and GPS tracks over a self-hosted basemap.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/346559","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=346559"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/kimjiwoon"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=346559"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=346559"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=346559"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=346559"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=346559"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=346559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}