| 开发者 | sirlouen |
|---|---|
| 更新时间 | 2026年10月7日 18:29 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
.gpx file, and visitors get:
<trk>) and GPX routes (<rte>), e.g. Garmin Connect course exports.<wpt> points in the file.build/ is minified (the block editor script is not, so that its strings stay translatable). The human-readable source lives in the plugin's src/ directory, which is included in this plugin, and is also available with full build instructions at the public repository: https://github.com/SirLouen/gpx-route-map. The plugin is built with Vite (pnpm install && pnpm run build).
gpx-route-map folder to /wp-content/plugins/, or install through the Plugins screen.No. It has no plugin dependencies and works with core WordPress.
Map rendering uses MapLibre GL JS (BSD-3-Clause) with raster tiles from OpenStreetMap, OpenTopoMap or Thunderforest, as chosen under Settings > GPX Route Map or for a single map. The track, elevation profile and the distance/elevation stats are all computed from your GPX file in the browser. When you add the block, those stats are saved with it so the summary still shows without JavaScript.
Yes. Go to Settings > GPX Route Map and set "Units" to Imperial, and every map on the site switches to miles and feet. A single map can use different units from the rest: pick them in the block's Display panel, or add units="imperial" to the shortcode. Switching is instant and can be undone at any time, because the plugin always stores distances and elevations in metric and only converts them for display.
Yes, for the whole site or for a single map. Go to Settings > GPX Route Map and set "Map height" to size every map that does not set its own. To change just one map, turn off "Use site default height" in the block's Display panel and pick a height, or add height="600" to the shortcode. Heights run from 200 to 1200 pixels.
Yes. In the block's Map tiles panel, pick a tile provider instead of "Site default". Thunderforest styles appear there once an API key is saved under Settings > GPX Route Map. The shortcode takes provider="opentopomap" and the like.
The map stops at the last zoom level its tile provider has tiles for. The plugin knows where OpenStreetMap, OpenTopoMap and Thunderforest stop; for a tile server of your own that stops early, say so with the gpxrm_tile_max_zoom filter.
"Max zoom" under Settings > GPX Route Map is something else: how close a map opens when it frames a short route. A single map can differ: use the block's Max zoom slider, or add maxzoom="15" to the shortcode.
Yes. Alongside the main height there are separate Tablet and Mobile heights, both site-wide and per map, and a shortcode accepts height_tablet and height_mobile. Tablet applies at 782px and below and Mobile at 480px and below, matching the widths WordPress itself uses. Leave one empty and the map follows the site's size for that screen, or the size above it when the site sets none - so a site-wide Mobile height applies to every map, including one given its own taller height. The elevation profile also gets shorter on phones so the map and the profile stay visible together.
Yes, either one, for the whole site or for a single map. Go to Settings > GPX Route Map and set "Stats bar" or "Elevation profile" to Hidden to change every map at once. To change just one map, use the block's Display panel, or add stats="false" or elevation="false" to the shortcode. A map set to "Site default" follows the setting, so you can change your mind later in one place.
Yes. Under Settings > GPX Route Map, "Stats shown" has a checkbox for each of Distance, Elevation gain, Elevation loss, Max elevation, Min elevation and Waypoints, so you can keep just the ones you care about. Min elevation is off unless you tick it. A single map can differ: open the block's "Stats bar items" panel, turn off "Use site default" and tick what you want, or pass fields="distance,gain" to the shortcode. At least one figure always stays ticked; to remove the bar altogether use the separate "Stats bar" setting.
Yes, if you switch the download button on. It is off by default. Go to Settings > GPX Route Map and set "Download button" to Shown, or turn it on for a single map from the block's Display panel or with download="true" on the shortcode. The button appears on the map next to the zoom and fullscreen controls. Files in your Media Library download with their own filename; a GPX hosted on another site opens instead of downloading, because browsers only honour the download hint for files served from the same site.
Yes. Go to Settings > GPX Route Map and set the tile provider to OpenTopoMap. It needs no account. A single map can differ: pick it in the block's Map tiles panel, or add provider="opentopomap" to the shortcode. It is run by volunteers, with no guarantee that it stays available, and has less detail close in.
Yes. Sign up at thunderforest.com, then go to Settings > GPX Route Map, set the tile provider to the Thunderforest style you want (Outdoors, OpenCycleMap, Landscape or Atlas) and paste your API key. With the key saved, a single map can use a different style: pick it in the block's Map tiles panel, or add provider="thunderforest-cycle" and the like to the shortcode. Their free plan covers 150,000 tiles a month, which is roughly 8,000 map views; busier sites need a paid plan.
Two things worth knowing. The key appears in your pages' source, because visitors' browsers fetch the tiles, and Thunderforest cannot lock a key to one domain, so watch your usage. And the map credits both Thunderforest and OpenStreetMap automatically, which their terms require and do not allow you to remove.
Not from the editor: the block offers the providers above. A developer can point maps at another tile server with the gpxrm_tile_url filter, and say where its tiles stop with gpxrm_tile_max_zoom. Tile addresses set on a map before 2.0 are no longer used; those maps follow the site's provider.
Only if that host allows cross-origin (CORS) requests, because the visitor's browser fetches the file directly, and most external sites don't send the required header. The front end then shows "Could not load GPX file: its host does not allow cross-origin (CORS) requests. Upload the file to this site instead." even though the link opens fine in a browser tab. Uploading the file to your Media Library is the reliable option.
GPX files uploaded before this plugin was activated may be stored with a generic XML type or no type at all. The picker shows GPX and XML types; files stored with an empty or unrelated type won't appear. Re-upload them to fix the stored type. On multisite, the network's "Upload file types" setting must also include gpx.
The map library could not be downloaded. The plugin loads its map code as a native JavaScript module, which optimization plugins normally leave alone. But if yours is configured to combine, inline or relocate module scripts, exclude this plugin's view script from it. Visitors on a flaky connection can simply click the message to retry.
tile attribute are gone, and a map that used one now shows the site's tile provider instead. The old address is not kept: it is dropped from a post the next time the post is saved, though older revisions still have it, so going back to 1.8 does not bring it back for posts edited in 2.0. To give a single map different tiles, choose OpenStreetMap, OpenTopoMap or a Thunderforest style in its Map tiles panel, or with the shortcode's new provider attribute. Developers who serve tiles from their own server can keep doing so with the gpxrm_tile_url filter, which applies to every map, or to every map using a given provider; a single map can no longer have a tile address of its own.provider="opentopomap".gpxrm_tile_url now runs for every map and gets the provider that map uses as a second argument, so a callback that ignores it replaces every map's tiles. New gpxrm_tile_max_zoom filter. Renderer::tile_provider() returns provider ids such as thunderforest-outdoors, and Renderer::STAT_FIELDS includes the opt-in min (the shipped default list is Renderer::DEFAULT_STAT_FIELDS). Removed: Renderer::sanitize_tile_url(), Plugin::sanitize_thunderforest_style() and Plugin::render_thunderforest_style_field(). The gpxrm_thunderforest_style option is only read to carry a 1.x choice over.{ratio}, the placeholder for providers that serve retina tiles, and notes that the address should use https.fields shortcode attribute.stats and elevation shortcode attributes now follow the site setting when you leave them out, and still accept true or false to force either way.units="imperial" to the shortcode..pot template is bundled for translators.[gpx_route_map] shortcode now fills its stats bar with JavaScript; the block continues to show statistics without JavaScript.[gpx_route_map] shortcode with MapLibre map, waypoints, stats and an interactive elevation profile.