Title: GTL Maps
Author: hevelius0
Published: <strong>12 Aprile 2026</strong>
Last modified: 28 Aprile 2026

---

Ricerca i plugin

![](https://ps.w.org/gtl-maps/assets/banner-772x250.png?rev=3504498)

![](https://ps.w.org/gtl-maps/assets/icon-256x256.png?rev=3504498)

# GTL Maps

 Di [hevelius0](https://profiles.wordpress.org/hevelius0/)

[Scarica](https://downloads.wordpress.org/plugin/gtl-maps.0.3.0.zip)

 * [Dettagli](https://it.wordpress.org/plugins/gtl-maps/#description)
 * [Recensioni](https://it.wordpress.org/plugins/gtl-maps/#reviews)
 *  [Installazione](https://it.wordpress.org/plugins/gtl-maps/#installation)
 * [Sviluppo](https://it.wordpress.org/plugins/gtl-maps/#developers)

 [Supporto](https://wordpress.org/support/plugin/gtl-maps/)

## Descrizione

GTL Maps is built for cycling and outdoor tourism websites that need to publish 
curated routes with detailed GPX data. The plugin registers a “Route” custom post
type, handles GPX upload and parsing, and renders interactive Leaflet maps via shortcode
or automatically above single route posts. It also provides a “Point of Interest”
post type to highlight attractions around each route and exposes REST API endpoints
for custom front-end integrations.

Key features:

 * Upload GPX files and automatically compute distance, elevation gain/loss, and
   bounding boxes.
 * Display interactive Leaflet maps with optional elevation profile and POI filtering.
 * Maintain POI categories with custom icons and associate POIs with nearby routes.
 * Provide REST API endpoints (`gtl/v1/routes` and `gtl/v1/pois`) so modern front-
   ends can consume the data.
 * Includes Gutenberg/widget support via shortcodes and dedicated widgets for route
   details and POI lists.

### Bug Fixes

 * correct GTLMAPS_VERSION constant name in release workflows and sync gtl-maps.
   php to 0.2.1 ([#55](https://github.com/hevelius/gtl-maps/issues/55)) ([971b9f6](https://github.com/hevelius/gtl-maps/commit/971b9f63fd8f7d2034f81da2fccc8202bd6b0d8d))
 * deploy pipeline ([94839e6](https://github.com/hevelius/gtl-maps/commit/94839e67a219556ad8090c149dae8ac6b6b2ffec))

### Miscellaneous Chores

 * update coverage badge [skip ci] ([f9b8d75](https://github.com/hevelius/gtl-maps/commit/f9b8d757935112235dd6407fc1a13b39ef0a8bd3))

#### [0.2.2](https://github.com/hevelius/gtl-maps/compare/0.2.1…0.2.2) (2026-04-12)

### Bug Fixes

 * correct GTLMAPS_VERSION constant name in release workflows and sync gtl-maps.
   php to 0.2.1 ([#55](https://github.com/hevelius/gtl-maps/issues/55)) ([971b9f6](https://github.com/hevelius/gtl-maps/commit/971b9f63fd8f7d2034f81da2fccc8202bd6b0d8d))
 * deploy pipeline ([94839e6](https://github.com/hevelius/gtl-maps/commit/94839e67a219556ad8090c149dae8ac6b6b2ffec))

### Miscellaneous Chores

 * update coverage badge [skip ci] ([f9b8d75](https://github.com/hevelius/gtl-maps/commit/f9b8d757935112235dd6407fc1a13b39ef0a8bd3))

#### [0.1.0](https://github.com/hevelius/gtl-maps/compare/0.0.20…0.1.0) (2026-02-19)

### Features

 * add Astra theme for full-width demo page support ([fb54a97](https://github.com/hevelius/gtl-maps/commit/fb54a977c07895548401ed4b9f9c959418f5be36))
 * Add code coverage and fix failing tests ([#24](https://github.com/hevelius/gtl-maps/issues/24))(
   [b281667](https://github.com/hevelius/gtl-maps/commit/b28166740fb951e192a9cd6697a7da8589bb8f8f))
 * add CODEOWNERS file for automatic review assignment ([#34](https://github.com/hevelius/gtl-maps/issues/34))(
   [24f782d](https://github.com/hevelius/gtl-maps/commit/24f782d07839276b8e112270807d45ab77f83183))
 * add custom icons for waypoints and POI categories ([cb8d418](https://github.com/hevelius/gtl-maps/commit/cb8d418874f5ea562163c5b2f8f59ffb98ee7d13))
 * add specialized OpenCode sub-agents for WordPress development ([fe32f6c](https://github.com/hevelius/gtl-maps/commit/fe32f6c8c86c1db784ac96382b80d709a8f6fd26))
 * Add specialized OpenCode sub-agents for WordPress development ([7d88493](https://github.com/hevelius/gtl-maps/commit/7d88493e5ce97dea98077cdd47cb2fe5af2dc28e))
 * add support for GPX waypoint visualization with default icons ([a07e063](https://github.com/hevelius/gtl-maps/commit/a07e063f1a05ec177cb4094b8ea3ac389de13ff3))
 * add wp-env development setup with sample data ([638d48c](https://github.com/hevelius/gtl-maps/commit/638d48ce98c38777b36efc17a1874facb64357e8))
 * Add wp-env development setup with sample data ([61e50ab](https://github.com/hevelius/gtl-maps/commit/61e50abfd4ec9cb45073742b2c8e9b4d6059dac6))
 * enhance demo page with comprehensive shortcode examples ([bd94581](https://github.com/hevelius/gtl-maps/commit/bd94581ca3fdce84b097981806883679f681f7da))
 * enhance release workflow with security and validation ([#21](https://github.com/hevelius/gtl-maps/issues/21))(
   [6562480](https://github.com/hevelius/gtl-maps/commit/6562480c29d1cefe9becffb92b0c9660460e1faa))
 * replace sample GPX routes with real Rome cycling routes ([470ae23](https://github.com/hevelius/gtl-maps/commit/470ae2309d9565ce938ffb8e77975120dd8a4c8f))
 * replace sample routes with Italian inter-city routes ([3634d1b](https://github.com/hevelius/gtl-maps/commit/3634d1bb08eb692825bb7a09998f75dbd35ec9d8))

### Bug Fixes

 * add expression syntax to validate-release condition ([d2ffa3e](https://github.com/hevelius/gtl-maps/commit/d2ffa3ef7f1350b4dec24fe010fbbe034d79fa52))
 * add missing period and remove trailing whitespace ([e5bbd07](https://github.com/hevelius/gtl-maps/commit/e5bbd07f1ea653182f1e5a1a74fcf7d2683de60e))
 * add retry mechanism and test instance check in wp-env workflow ([1692ea1](https://github.com/hevelius/gtl-maps/commit/1692ea144bd12b70e07e39b2476b53da6cfea48b))
 * add timeout to logs step to prevent hanging ([f7ba4e3](https://github.com/hevelius/gtl-maps/commit/f7ba4e3feff09f152a06487a42a3e7c535d8b569))
 * add write permissions for coverage badge commit ([04a15aa](https://github.com/hevelius/gtl-maps/commit/04a15aa69f92500d13f5823cf8461cd61754bd6d))
 * auto-activate plugin in CI if not already active ([5844092](https://github.com/hevelius/gtl-maps/commit/58440926f29f68752c6481221f3a2c4606d9d07a))
 * auto-create .htaccess file for wp-env permalink support ([273eb6c](https://github.com/hevelius/gtl-maps/commit/273eb6c9ca7ebbf917ce5205c2974e5a226a40eb))
 * category shows only related poi ([3eb51d9](https://github.com/hevelius/gtl-maps/commit/3eb51d9ab262fc4de5c4a4c74df18bd31de0073d))
 * configure make-pot workflow for pull requests ([cd2583f](https://github.com/hevelius/gtl-maps/commit/cd2583f1164dfe2eb9b63fde9b63b801d19d725c))
 * correct POI JSON structure to match import script ([ca4cbdc](https://github.com/hevelius/gtl-maps/commit/ca4cbdc37c0ba12120a354713c25b92d41645336))
 * escape string ([368a1fa](https://github.com/hevelius/gtl-maps/commit/368a1fa5f3c2b2064344732558100a709dc2449c))
 * HEREDOC exit code issue in setup script ([6322862](https://github.com/hevelius/gtl-maps/commit/6322862fa6380020ebfc4967f89f8f37a0265f50))
 * improve POI association and shortcode escaping ([ee7b388](https://github.com/hevelius/gtl-maps/commit/ee7b388284c01b56502a4c013ebc32c17fdc930e))
 * improve route ID extraction with better error handling ([dc7ef68](https://github.com/hevelius/gtl-maps/commit/dc7ef68e5a0367c13bc215b302bd5466de658f45))
 * linter and test errors ([db884d1](https://github.com/hevelius/gtl-maps/commit/db884d1b3f67cd2eec7c512a79241ef5d357315a))
 * mobile scroll point ([432ba04](https://github.com/hevelius/gtl-maps/commit/432ba04dc6bc4d5d30ec69f26fb0de5891a571ac))
 * POI filter panel title and button visibility across themes ([d6d9458](https://github.com/hevelius/gtl-maps/commit/d6d94581be62b5da225435822e3d7a8bd6606169))
 * remove conflicting mappings from wp-env config ([9d7c71b](https://github.com/hevelius/gtl-maps/commit/9d7c71b62008c585c404d03c9aaec30b0989050c))
 * remove invalid conditional check in POI relink script ([679544e](https://github.com/hevelius/gtl-maps/commit/679544ea80c0126ceddbb48c10cc9e9293ab4a62))
 * remove waypoints from GPX files to prevent map marker clutter ([b638507](https://github.com/hevelius/gtl-maps/commit/b638507b6b88ffc8e9f490a26d9a6d65ef6864b1))
 * replace JPEG-as-PNG screenshots with true PNG files ([#35](https://github.com/hevelius/gtl-maps/issues/35))(
   [a5b091b](https://github.com/hevelius/gtl-maps/commit/a5b091b19fa0507861bf11362e691e01cb7fc3fc))
 * resolve workflow errors ([113f45e](https://github.com/hevelius/gtl-maps/commit/113f45ed02d13e53ec8b305986354e94ff0e0e74))
 * set failOnWarning=false to prevent CI failure on deprecations ([271b88a](https://github.com/hevelius/gtl-maps/commit/271b88a670c6447db538e2fc77bbeb9063356262))
 * simplify validate-release workflow condition ([8326112](https://github.com/hevelius/gtl-maps/commit/8326112d8f8e6fedc8d05bc4e24427706ce1beea))
 * skip POT PR creation on pull request events ([7fd1d9c](https://github.com/hevelius/gtl-maps/commit/7fd1d9cd6044ca28f0f9643b9d8300b84ffbbfaa))
 * specify correct coverage report filename ([17b699e](https://github.com/hevelius/gtl-maps/commit/17b699ee519da1871bf51e8a91953ac49e0961e5))
 * update WordPress deploy action to use correct 10up action ([5ee6cee](https://github.com/hevelius/gtl-maps/commit/5ee6ceec2dcfa23eacfd924e06472fe71763239b))
 * use correct meta key for GPX attachment ID ([3502e08](https://github.com/hevelius/gtl-maps/commit/3502e080526b97f5418cdeba6c91f36992d26d1a))
 * use correct parameter format for wp-cli command ([a0e4aa1](https://github.com/hevelius/gtl-maps/commit/a0e4aa1fe332c7cd931fe503c68c3982ddeb0d74))
 * use dynamic route IDs in demo page content ([78462e7](https://github.com/hevelius/gtl-maps/commit/78462e74a3f09713cd954981699397e205df245a))
 * use L.Icon object for waypoint markers instead of icon URLs ([a176582](https://github.com/hevelius/gtl-maps/commit/a176582d00e264ba7594ffd75f479941e14988f0))
 * use PHP-compatible coverage badge generator ([207e2d4](https://github.com/hevelius/gtl-maps/commit/207e2d4769658faad4e7057fcab0a71841203da1))
 * use pre-installed wp-cli instead of manual download ([d890eaa](https://github.com/hevelius/gtl-maps/commit/d890eaacad73095a923d43318453d21ab71189e5))
 * validate-release workflow condition on line 16 ([b0d6249](https://github.com/hevelius/gtl-maps/commit/b0d6249fac2c95e38ccd52e8123a32e276a1d265))
 * waypoint popup and POI icon assignment in wp-env ([6498590](https://github.com/hevelius/gtl-maps/commit/6498590b041ebc35e319925b4d34eb88d277abd6))
 * **workflows:** use multiline format for validate-release if condition ([18f5d39](https://github.com/hevelius/gtl-maps/commit/18f5d394b7a1fc802e8a4429c495f9015f5b6448))

### Miscellaneous Chores

 * add .wordpress.org to .gitignore to prevent tracking sensitive files ([33eb9eb](https://github.com/hevelius/gtl-maps/commit/33eb9eb4841cf4ddebefc963081ae774fb18451c))
 * add collapsed poi panel ([610afa0](https://github.com/hevelius/gtl-maps/commit/610afa05108d0e5102433a6e615c8112b22e1a23))
 * add core poi relink function ([17bcbec](https://github.com/hevelius/gtl-maps/commit/17bcbec849caab897c134a22efec0b76395f44f6))
 * add helper scripts for POI icon testing and debugging ([edc0461](https://github.com/hevelius/gtl-maps/commit/edc046188a0e6de5de1590aea4aa7f7f19fcd334))
 * **deps:** bump actions/checkout from 4 to 6 ([#30](https://github.com/hevelius/gtl-maps/issues/30))(
   [ace2ced](https://github.com/hevelius/gtl-maps/commit/ace2cedf2e25a85c41e2ed6e6e7393cdd7e41383))
 * **deps:** bump actions/upload-artifact from 4 to 6 ([#29](https://github.com/hevelius/gtl-maps/issues/29))(
   [33e00b5](https://github.com/hevelius/gtl-maps/commit/33e00b5e829995afa790648b3dd39482bd48d627))
 * **deps:** bump peter-evans/create-pull-request from 6 to 8 ([#28](https://github.com/hevelius/gtl-maps/issues/28))(
   [a56998c](https://github.com/hevelius/gtl-maps/commit/a56998cb373b990a4839799859298e2a2d0fbd67))
 * increase words trim ([000df0c](https://github.com/hevelius/gtl-maps/commit/000df0c4b56b9c77d1ca5390bbe0c36b29073cfc))
 * initial commit ([9073aa3](https://github.com/hevelius/gtl-maps/commit/9073aa3014da5af3853b436bf2839d5bc00ffaae))
 * **main:** release 0.0.10 ([#10](https://github.com/hevelius/gtl-maps/issues/10))(
   [2ddcd33](https://github.com/hevelius/gtl-maps/commit/2ddcd3347718dabbb0b51dc4f66bd28ca617785c))
 * **main:** release 0.0.11 ([#11](https://github.com/hevelius/gtl-maps/issues/11))(
   [aec277d](https://github.com/hevelius/gtl-maps/commit/aec277d69aca4a921dc69dc11f7393366b90636c))
 * **main:** release 0.0.12 ([#12](https://github.com/hevelius/gtl-maps/issues/12))(
   [d3ab487](https://github.com/hevelius/gtl-maps/commit/d3ab48772265dcfcfa880807de3a8b3272426eb1))
 * **main:** release 0.0.13 ([#13](https://github.com/hevelius/gtl-maps/issues/13))(
   [429e7dd](https://github.com/hevelius/gtl-maps/commit/429e7dd8f464dac030b0fad32ff9996175ae0b36))
 * **main:** release 0.0.14 ([#14](https://github.com/hevelius/gtl-maps/issues/14))(
   [8ef14d2](https://github.com/hevelius/gtl-maps/commit/8ef14d23229e2dc18677373c019d42fe798032a7))
 * **main:** release 0.0.15 ([#15](https://github.com/hevelius/gtl-maps/issues/15))(
   [d1550b0](https://github.com/hevelius/gtl-maps/commit/d1550b07ce0af2cab01d3db93138a34e551a2d59))
 * **main:** release 0.0.16 ([#16](https://github.com/hevelius/gtl-maps/issues/16))(
   [58dcbed](https://github.com/hevelius/gtl-maps/commit/58dcbed74477360d9827cfa41ef84080d9ff722a))
 * **main:** release 0.0.17 ([#17](https://github.com/hevelius/gtl-maps/issues/17))(
   [6407e26](https://github.com/hevelius/gtl-maps/commit/6407e26d45170fb9acd46be8c9ce4bbe1e9026d4))
 * **main:** release 0.0.18 ([#18](https://github.com/hevelius/gtl-maps/issues/18))(
   [7aa9a44](https://github.com/hevelius/gtl-maps/commit/7aa9a446d3ba5b44bd580cd144cee9c14110080a))
 * **main:** release 0.0.19 ([#19](https://github.com/hevelius/gtl-maps/issues/19))(
   [8dfd7f9](https://github.com/hevelius/gtl-maps/commit/8dfd7f97dce8024f5b5899462c330b5308399d44))
 * **main:** release 0.0.20 ([#20](https://github.com/hevelius/gtl-maps/issues/20))(
   [79e1da1](https://github.com/hevelius/gtl-maps/commit/79e1da138a892469f762c0f3563fe2d1adb79fa9))
 * **main:** release 0.0.4 ([#4](https://github.com/hevelius/gtl-maps/issues/4))(
   [1fec03f](https://github.com/hevelius/gtl-maps/commit/1fec03f1a7366b01ff2c27475c56674d0e60e9ae))
 * **main:** release 0.0.5 ([#5](https://github.com/hevelius/gtl-maps/issues/5))(
   [f2c7a0b](https://github.com/hevelius/gtl-maps/commit/f2c7a0bcc8167e36681d022197123369a447ff66))
 * **main:** release 0.0.6 ([#6](https://github.com/hevelius/gtl-maps/issues/6))(
   [32f9c3f](https://github.com/hevelius/gtl-maps/commit/32f9c3fe0556c672eda581bfde3f268badd52595))
 * **main:** release 0.0.7 ([#7](https://github.com/hevelius/gtl-maps/issues/7))(
   [ce7f2c7](https://github.com/hevelius/gtl-maps/commit/ce7f2c76bb2b3f476a3910ff8fd25a4c6f2081fd))
 * **main:** release 0.0.8 ([#8](https://github.com/hevelius/gtl-maps/issues/8))(
   [020b6c2](https://github.com/hevelius/gtl-maps/commit/020b6c2939d233e3782baed7ce1a470c61b7d091))
 * **main:** release 0.0.9 ([#9](https://github.com/hevelius/gtl-maps/issues/9))(
   [92882a7](https://github.com/hevelius/gtl-maps/commit/92882a77f5c0732a4d96311f9a6d0d47a5160a5e))
 * move footer in body card ([440e493](https://github.com/hevelius/gtl-maps/commit/440e49391f8de75dfa1248a4351a98429916c6d5))
 * new behaviour sidecard ([682b120](https://github.com/hevelius/gtl-maps/commit/682b120ab68f83adb0c2db497b2f0a71a1b96d51))
 * pipeline update ([eecc42e](https://github.com/hevelius/gtl-maps/commit/eecc42e08bd7d7b88c775836df8ee5bbb34595b0))
 * prepare plugin for WordPress.org directory submission ([#36](https://github.com/hevelius/gtl-maps/issues/36))(
   [a1d639d](https://github.com/hevelius/gtl-maps/commit/a1d639d49e3b2d20978713cebfa4a5c31564b06c))
 * remove author metadata from sample GPX files ([51852de](https://github.com/hevelius/gtl-maps/commit/51852de1fa8c1eda1e3c451553dfe64b371823b8))
 * remove unused comment ([dea7ebe](https://github.com/hevelius/gtl-maps/commit/dea7ebed12cc28e14081eafebda7e56ab4a645b9))
 * trigger new release ([74f4de8](https://github.com/hevelius/gtl-maps/commit/74f4de830208b702ef41fd6a877aac812353959e))
 * trigger relase ([e193663](https://github.com/hevelius/gtl-maps/commit/e19366342d74faf49c90575dd55c898efa021ab8))
 * trigger release please ([de8219b](https://github.com/hevelius/gtl-maps/commit/de8219bf574ceecf0bb8f623016d77c17dc8c404))
 * update ([e4ae6a2](https://github.com/hevelius/gtl-maps/commit/e4ae6a204937ab752f685e94403b5bfae3e6b230))
 * update ([3becff4](https://github.com/hevelius/gtl-maps/commit/3becff4ca9aadcf920b9046237d67859eb3b33be))
 * update ([3138eed](https://github.com/hevelius/gtl-maps/commit/3138eed589e5a97c2156d72e99762914c7a6d1d7))
 * update ([cd01092](https://github.com/hevelius/gtl-maps/commit/cd010924c30f479556279068c8a5b703dcbd5931))
 * update ([be31b75](https://github.com/hevelius/gtl-maps/commit/be31b75bc813c1f64b212e814554acc50548331b))
 * update ([82f0c1d](https://github.com/hevelius/gtl-maps/commit/82f0c1d36b21c765f5e7149543051c372be532ec))
 * update ([29aec77](https://github.com/hevelius/gtl-maps/commit/29aec77392d197fbdbbd2436a09ff4219ef97ec6))
 * update ([dc820f2](https://github.com/hevelius/gtl-maps/commit/dc820f22e8be06648c7335bc8da91691c931ead6))
 * update ([0b0ba7b](https://github.com/hevelius/gtl-maps/commit/0b0ba7b173c9ae2f41753900be986c2f06157075))
 * update ([4d1a116](https://github.com/hevelius/gtl-maps/commit/4d1a116be6a593018d4bcb918b206eb0d47873f3))
 * update ([14e041f](https://github.com/hevelius/gtl-maps/commit/14e041fb825e6db7fb63316310af150046d5ef73))
 * update ([5e21407](https://github.com/hevelius/gtl-maps/commit/5e214075ab8289d531ad8f73a7efb1f1de9ce150))
 * update ([324fafb](https://github.com/hevelius/gtl-maps/commit/324fafb0b3016a01f86287e5b279c254e34851d9))
 * update ([35c73c8](https://github.com/hevelius/gtl-maps/commit/35c73c8344f934b1a2047ab21d9520e88deed771))
 * update ci ([e289307](https://github.com/hevelius/gtl-maps/commit/e289307902d0e00d3bfc0ca0beb52f99594c821c))
 * update coverage badge [skip ci] ([cbd31e1](https://github.com/hevelius/gtl-maps/commit/cbd31e18ab3958259d5e6a7fe0ffdc3a18e62821))
 * update maps url ([7722dbf](https://github.com/hevelius/gtl-maps/commit/7722dbf73d5d30ee11b3f151e31ac8b2635e3ae9))
 * update readme ([29e7562](https://github.com/hevelius/gtl-maps/commit/29e75628369b1ecdd5be68a77cb345d671e34d31))
 * update readme ([69614e7](https://github.com/hevelius/gtl-maps/commit/69614e791133f08ac063a590cba5fe95ccad305d))
 * update readme.txt ([58ce69f](https://github.com/hevelius/gtl-maps/commit/58ce69f6ac1664ca8ac072ae7ace3b0a5c9a7611))
 * update strings ([56a3912](https://github.com/hevelius/gtl-maps/commit/56a3912a102c7f2a08f51b316b191d20911a4834))
 * update strings items ([45e7143](https://github.com/hevelius/gtl-maps/commit/45e7143c13618e9bec2da8c47d773de31867709b))
 * update sync ([c16ea00](https://github.com/hevelius/gtl-maps/commit/c16ea00d6387b8ec151a752e094f90c5d01db026))
 * update sync files ([9b2f299](https://github.com/hevelius/gtl-maps/commit/9b2f299f436321e94ca45c67a89fd5f0efdb5b3f))
 * update testing info ([a91d124](https://github.com/hevelius/gtl-maps/commit/a91d124699503f34a8ffb864e26999daeea7d899))

#### [0.1.0](https://github.com/hevelius/gtl-maps/compare/0.0.20…0.1.0) (2026-02-19)

### Features

 * add Astra theme for full-width demo page support ([fb54a97](https://github.com/hevelius/gtl-maps/commit/fb54a977c07895548401ed4b9f9c959418f5be36))
 * Add code coverage and fix failing tests ([#24](https://github.com/hevelius/gtl-maps/issues/24))(
   [b281667](https://github.com/hevelius/gtl-maps/commit/b28166740fb951e192a9cd6697a7da8589bb8f8f))
 * add CODEOWNERS file for automatic review assignment ([#34](https://github.com/hevelius/gtl-maps/issues/34))(
   [24f782d](https://github.com/hevelius/gtl-maps/commit/24f782d07839276b8e112270807d45ab77f83183))
 * add custom icons for waypoints and POI categories ([cb8d418](https://github.com/hevelius/gtl-maps/commit/cb8d418874f5ea562163c5b2f8f59ffb98ee7d13))
 * add specialized OpenCode sub-agents for WordPress development ([fe32f6c](https://github.com/hevelius/gtl-maps/commit/fe32f6c8c86c1db784ac96382b80d709a8f6fd26))
 * Add specialized OpenCode sub-agents for WordPress development ([7d88493](https://github.com/hevelius/gtl-maps/commit/7d88493e5ce97dea98077cdd47cb2fe5af2dc28e))
 * add support for GPX waypoint visualization with default icons ([a07e063](https://github.com/hevelius/gtl-maps/commit/a07e063f1a05ec177cb4094b8ea3ac389de13ff3))
 * add wp-env development setup with sample data ([638d48c](https://github.com/hevelius/gtl-maps/commit/638d48ce98c38777b36efc17a1874facb64357e8))
 * Add wp-env development setup with sample data ([61e50ab](https://github.com/hevelius/gtl-maps/commit/61e50abfd4ec9cb45073742b2c8e9b4d6059dac6))
 * enhance demo page with comprehensive shortcode examples ([bd94581](https://github.com/hevelius/gtl-maps/commit/bd94581ca3fdce84b097981806883679f681f7da))
 * enhance release workflow with security and validation ([#21](https://github.com/hevelius/gtl-maps/issues/21))(
   [6562480](https://github.com/hevelius/gtl-maps/commit/6562480c29d1cefe9becffb92b0c9660460e1faa))
 * replace sample GPX routes with real Rome cycling routes ([470ae23](https://github.com/hevelius/gtl-maps/commit/470ae2309d9565ce938ffb8e77975120dd8a4c8f))
 * replace sample routes with Italian inter-city routes ([3634d1b](https://github.com/hevelius/gtl-maps/commit/3634d1bb08eb692825bb7a09998f75dbd35ec9d8))

### Bug Fixes

 * add expression syntax to validate-release condition ([d2ffa3e](https://github.com/hevelius/gtl-maps/commit/d2ffa3ef7f1350b4dec24fe010fbbe034d79fa52))
 * add missing period and remove trailing whitespace ([e5bbd07](https://github.com/hevelius/gtl-maps/commit/e5bbd07f1ea653182f1e5a1a74fcf7d2683de60e))
 * add retry mechanism and test instance check in wp-env workflow ([1692ea1](https://github.com/hevelius/gtl-maps/commit/1692ea144bd12b70e07e39b2476b53da6cfea48b))
 * add timeout to logs step to prevent hanging ([f7ba4e3](https://github.com/hevelius/gtl-maps/commit/f7ba4e3feff09f152a06487a42a3e7c535d8b569))
 * add write permissions for coverage badge commit ([04a15aa](https://github.com/hevelius/gtl-maps/commit/04a15aa69f92500d13f5823cf8461cd61754bd6d))
 * auto-activate plugin in CI if not already active ([5844092](https://github.com/hevelius/gtl-maps/commit/58440926f29f68752c6481221f3a2c4606d9d07a))
 * auto-create .htaccess file for wp-env permalink support ([273eb6c](https://github.com/hevelius/gtl-maps/commit/273eb6c9ca7ebbf917ce5205c2974e5a226a40eb))
 * category shows only related poi ([3eb51d9](https://github.com/hevelius/gtl-maps/commit/3eb51d9ab262fc4de5c4a4c74df18bd31de0073d))
 * configure make-pot workflow for pull requests ([cd2583f](https://github.com/hevelius/gtl-maps/commit/cd2583f1164dfe2eb9b63fde9b63b801d19d725c))
 * correct POI JSON structure to match import script ([ca4cbdc](https://github.com/hevelius/gtl-maps/commit/ca4cbdc37c0ba12120a354713c25b92d41645336))
 * escape string ([368a1fa](https://github.com/hevelius/gtl-maps/commit/368a1fa5f3c2b2064344732558100a709dc2449c))
 * HEREDOC exit code issue in setup script ([6322862](https://github.com/hevelius/gtl-maps/commit/6322862fa6380020ebfc4967f89f8f37a0265f50))
 * improve POI association and shortcode escaping ([ee7b388](https://github.com/hevelius/gtl-maps/commit/ee7b388284c01b56502a4c013ebc32c17fdc930e))
 * improve route ID extraction with better error handling ([dc7ef68](https://github.com/hevelius/gtl-maps/commit/dc7ef68e5a0367c13bc215b302bd5466de658f45))
 * linter and test errors ([db884d1](https://github.com/hevelius/gtl-maps/commit/db884d1b3f67cd2eec7c512a79241ef5d357315a))
 * mobile scroll point ([432ba04](https://github.com/hevelius/gtl-maps/commit/432ba04dc6bc4d5d30ec69f26fb0de5891a571ac))
 * POI filter panel title and button visibility across themes ([d6d9458](https://github.com/hevelius/gtl-maps/commit/d6d94581be62b5da225435822e3d7a8bd6606169))
 * remove conflicting mappings from wp-env config ([9d7c71b](https://github.com/hevelius/gtl-maps/commit/9d7c71b62008c585c404d03c9aaec30b0989050c))
 * remove invalid conditional check in POI relink script ([679544e](https://github.com/hevelius/gtl-maps/commit/679544ea80c0126ceddbb48c10cc9e9293ab4a62))
 * remove waypoints from GPX files to prevent map marker clutter ([b638507](https://github.com/hevelius/gtl-maps/commit/b638507b6b88ffc8e9f490a26d9a6d65ef6864b1))
 * replace JPEG-as-PNG screenshots with true PNG files ([#35](https://github.com/hevelius/gtl-maps/issues/35))(
   [a5b091b](https://github.com/hevelius/gtl-maps/commit/a5b091b19fa0507861bf11362e691e01cb7fc3fc))
 * resolve workflow errors ([113f45e](https://github.com/hevelius/gtl-maps/commit/113f45ed02d13e53ec8b305986354e94ff0e0e74))
 * set failOnWarning=false to prevent CI failure on deprecations ([271b88a](https://github.com/hevelius/gtl-maps/commit/271b88a670c6447db538e2fc77bbeb9063356262))
 * simplify validate-release workflow condition ([8326112](https://github.com/hevelius/gtl-maps/commit/8326112d8f8e6fedc8d05bc4e24427706ce1beea))
 * skip POT PR creation on pull request events ([7fd1d9c](https://github.com/hevelius/gtl-maps/commit/7fd1d9cd6044ca28f0f9643b9d8300b84ffbbfaa))
 * specify correct coverage report filename ([17b699e](https://github.com/hevelius/gtl-maps/commit/17b699ee519da1871bf51e8a91953ac49e0961e5))
 * update WordPress deploy action to use correct 10up action ([5ee6cee](https://github.com/hevelius/gtl-maps/commit/5ee6ceec2dcfa23eacfd924e06472fe71763239b))
 * use correct meta key for GPX attachment ID ([3502e08](https://github.com/hevelius/gtl-maps/commit/3502e080526b97f5418cdeba6c91f36992d26d1a))
 * use correct parameter format for wp-cli command ([a0e4aa1](https://github.com/hevelius/gtl-maps/commit/a0e4aa1fe332c7cd931fe503c68c3982ddeb0d74))
 * use dynamic route IDs in demo page content ([78462e7](https://github.com/hevelius/gtl-maps/commit/78462e74a3f09713cd954981699397e205df245a))
 * use L.Icon object for waypoint markers instead of icon URLs ([a176582](https://github.com/hevelius/gtl-maps/commit/a176582d00e264ba7594ffd75f479941e14988f0))
 * use PHP-compatible coverage badge generator ([207e2d4](https://github.com/hevelius/gtl-maps/commit/207e2d4769658faad4e7057fcab0a71841203da1))
 * use pre-installed wp-cli instead of manual download ([d890eaa](https://github.com/hevelius/gtl-maps/commit/d890eaacad73095a923d43318453d21ab71189e5))
 * validate-release workflow condition on line 16 ([b0d6249](https://github.com/hevelius/gtl-maps/commit/b0d6249fac2c95e38ccd52e8123a32e276a1d265))
 * waypoint popup and POI icon assignment in wp-env ([6498590](https://github.com/hevelius/gtl-maps/commit/6498590b041ebc35e319925b4d34eb88d277abd6))
 * **workflows:** use multiline format for validate-release if condition ([18f5d39](https://github.com/hevelius/gtl-maps/commit/18f5d394b7a1fc802e8a4429c495f9015f5b6448))

### Miscellaneous Chores

 * add .wordpress.org to .gitignore to prevent tracking sensitive files ([33eb9eb](https://github.com/hevelius/gtl-maps/commit/33eb9eb4841cf4ddebefc963081ae774fb18451c))
 * add collapsed poi panel ([610afa0](https://github.com/hevelius/gtl-maps/commit/610afa05108d0e5102433a6e615c8112b22e1a23))
 * add core poi relink function ([17bcbec](https://github.com/hevelius/gtl-maps/commit/17bcbec849caab897c134a22efec0b76395f44f6))
 * add helper scripts for POI icon testing and debugging ([edc0461](https://github.com/hevelius/gtl-maps/commit/edc046188a0e6de5de1590aea4aa7f7f19fcd334))
 * **deps:** bump actions/checkout from 4 to 6 ([#30](https://github.com/hevelius/gtl-maps/issues/30))(
   [ace2ced](https://github.com/hevelius/gtl-maps/commit/ace2cedf2e25a85c41e2ed6e6e7393cdd7e41383))
 * **deps:** bump actions/upload-artifact from 4 to 6 ([#29](https://github.com/hevelius/gtl-maps/issues/29))(
   [33e00b5](https://github.com/hevelius/gtl-maps/commit/33e00b5e829995afa790648b3dd39482bd48d627))
 * **deps:** bump peter-evans/create-pull-request from 6 to 8 ([#28](https://github.com/hevelius/gtl-maps/issues/28))(
   [a56998c](https://github.com/hevelius/gtl-maps/commit/a56998cb373b990a4839799859298e2a2d0fbd67))
 * increase words trim ([000df0c](https://github.com/hevelius/gtl-maps/commit/000df0c4b56b9c77d1ca5390bbe0c36b29073cfc))
 * initial commit ([9073aa3](https://github.com/hevelius/gtl-maps/commit/9073aa3014da5af3853b436bf2839d5bc00ffaae))
 * **main:** release 0.0.10 ([#10](https://github.com/hevelius/gtl-maps/issues/10))(
   [2ddcd33](https://github.com/hevelius/gtl-maps/commit/2ddcd3347718dabbb0b51dc4f66bd28ca617785c))
 * **main:** release 0.0.11 ([#11](https://github.com/hevelius/gtl-maps/issues/11))(
   [aec277d](https://github.com/hevelius/gtl-maps/commit/aec277d69aca4a921dc69dc11f7393366b90636c))
 * **main:** release 0.0.12 ([#12](https://github.com/hevelius/gtl-maps/issues/12))(
   [d3ab487](https://github.com/hevelius/gtl-maps/commit/d3ab48772265dcfcfa880807de3a8b3272426eb1))
 * **main:** release 0.0.13 ([#13](https://github.com/hevelius/gtl-maps/issues/13))(
   [429e7dd](https://github.com/hevelius/gtl-maps/commit/429e7dd8f464dac030b0fad32ff9996175ae0b36))
 * **main:** release 0.0.14 ([#14](https://github.com/hevelius/gtl-maps/issues/14))(
   [8ef14d2](https://github.com/hevelius/gtl-maps/commit/8ef14d23229e2dc18677373c019d42fe798032a7))
 * **main:** release 0.0.15 ([#15](https://github.com/hevelius/gtl-maps/issues/15))(
   [d1550b0](https://github.com/hevelius/gtl-maps/commit/d1550b07ce0af2cab01d3db93138a34e551a2d59))
 * **main:** release 0.0.16 ([#16](https://github.com/hevelius/gtl-maps/issues/16))(
   [58dcbed](https://github.com/hevelius/gtl-maps/commit/58dcbed74477360d9827cfa41ef84080d9ff722a))
 * **main:** release 0.0.17 ([#17](https://github.com/hevelius/gtl-maps/issues/17))(
   [6407e26](https://github.com/hevelius/gtl-maps/commit/6407e26d45170fb9acd46be8c9ce4bbe1e9026d4))
 * **main:** release 0.0.18 ([#18](https://github.com/hevelius/gtl-maps/issues/18))(
   [7aa9a44](https://github.com/hevelius/gtl-maps/commit/7aa9a446d3ba5b44bd580cd144cee9c14110080a))
 * **main:** release 0.0.19 ([#19](https://github.com/hevelius/gtl-maps/issues/19))(
   [8dfd7f9](https://github.com/hevelius/gtl-maps/commit/8dfd7f97dce8024f5b5899462c330b5308399d44))
 * **main:** release 0.0.20 ([#20](https://github.com/hevelius/gtl-maps/issues/20))(
   [79e1da1](https://github.com/hevelius/gtl-maps/commit/79e1da138a892469f762c0f3563fe2d1adb79fa9))
 * **main:** release 0.0.4 ([#4](https://github.com/hevelius/gtl-maps/issues/4))(
   [1fec03f](https://github.com/hevelius/gtl-maps/commit/1fec03f1a7366b01ff2c27475c56674d0e60e9ae))
 * **main:** release 0.0.5 ([#5](https://github.com/hevelius/gtl-maps/issues/5))(
   [f2c7a0b](https://github.com/hevelius/gtl-maps/commit/f2c7a0bcc8167e36681d022197123369a447ff66))
 * **main:** release 0.0.6 ([#6](https://github.com/hevelius/gtl-maps/issues/6))(
   [32f9c3f](https://github.com/hevelius/gtl-maps/commit/32f9c3fe0556c672eda581bfde3f268badd52595))
 * **main:** release 0.0.7 ([#7](https://github.com/hevelius/gtl-maps/issues/7))(
   [ce7f2c7](https://github.com/hevelius/gtl-maps/commit/ce7f2c76bb2b3f476a3910ff8fd25a4c6f2081fd))
 * **main:** release 0.0.8 ([#8](https://github.com/hevelius/gtl-maps/issues/8))(
   [020b6c2](https://github.com/hevelius/gtl-maps/commit/020b6c2939d233e3782baed7ce1a470c61b7d091))
 * **main:** release 0.0.9 ([#9](https://github.com/hevelius/gtl-maps/issues/9))(
   [92882a7](https://github.com/hevelius/gtl-maps/commit/92882a77f5c0732a4d96311f9a6d0d47a5160a5e))
 * move footer in body card ([440e493](https://github.com/hevelius/gtl-maps/commit/440e49391f8de75dfa1248a4351a98429916c6d5))
 * new behaviour sidecard ([682b120](https://github.com/hevelius/gtl-maps/commit/682b120ab68f83adb0c2db497b2f0a71a1b96d51))
 * pipeline update ([eecc42e](https://github.com/hevelius/gtl-maps/commit/eecc42e08bd7d7b88c775836df8ee5bbb34595b0))
 * prepare plugin for WordPress.org directory submission ([#36](https://github.com/hevelius/gtl-maps/issues/36))(
   [a1d639d](https://github.com/hevelius/gtl-maps/commit/a1d639d49e3b2d20978713cebfa4a5c31564b06c))
 * remove author metadata from sample GPX files ([51852de](https://github.com/hevelius/gtl-maps/commit/51852de1fa8c1eda1e3c451553dfe64b371823b8))
 * remove unused comment ([dea7ebe](https://github.com/hevelius/gtl-maps/commit/dea7ebed12cc28e14081eafebda7e56ab4a645b9))
 * trigger new release ([74f4de8](https://github.com/hevelius/gtl-maps/commit/74f4de830208b702ef41fd6a877aac812353959e))
 * trigger relase ([e193663](https://github.com/hevelius/gtl-maps/commit/e19366342d74faf49c90575dd55c898efa021ab8))
 * trigger release please ([de8219b](https://github.com/hevelius/gtl-maps/commit/de8219bf574ceecf0bb8f623016d77c17dc8c404))
 * update ([e4ae6a2](https://github.com/hevelius/gtl-maps/commit/e4ae6a204937ab752f685e94403b5bfae3e6b230))
 * update ([3becff4](https://github.com/hevelius/gtl-maps/commit/3becff4ca9aadcf920b9046237d67859eb3b33be))
 * update ([3138eed](https://github.com/hevelius/gtl-maps/commit/3138eed589e5a97c2156d72e99762914c7a6d1d7))
 * update ([cd01092](https://github.com/hevelius/gtl-maps/commit/cd010924c30f479556279068c8a5b703dcbd5931))
 * update ([be31b75](https://github.com/hevelius/gtl-maps/commit/be31b75bc813c1f64b212e814554acc50548331b))
 * update ([82f0c1d](https://github.com/hevelius/gtl-maps/commit/82f0c1d36b21c765f5e7149543051c372be532ec))
 * update ([29aec77](https://github.com/hevelius/gtl-maps/commit/29aec77392d197fbdbbd2436a09ff4219ef97ec6))
 * update ([dc820f2](https://github.com/hevelius/gtl-maps/commit/dc820f22e8be06648c7335bc8da91691c931ead6))
 * update ([0b0ba7b](https://github.com/hevelius/gtl-maps/commit/0b0ba7b173c9ae2f41753900be986c2f06157075))
 * update ([4d1a116](https://github.com/hevelius/gtl-maps/commit/4d1a116be6a593018d4bcb918b206eb0d47873f3))
 * update ([14e041f](https://github.com/hevelius/gtl-maps/commit/14e041fb825e6db7fb63316310af150046d5ef73))
 * update ([5e21407](https://github.com/hevelius/gtl-maps/commit/5e214075ab8289d531ad8f73a7efb1f1de9ce150))
 * update ([324fafb](https://github.com/hevelius/gtl-maps/commit/324fafb0b3016a01f86287e5b279c254e34851d9))
 * update ([35c73c8](https://github.com/hevelius/gtl-maps/commit/35c73c8344f934b1a2047ab21d9520e88deed771))
 * update ci ([e289307](https://github.com/hevelius/gtl-maps/commit/e289307902d0e00d3bfc0ca0beb52f99594c821c))
 * update coverage badge [skip ci] ([cbd31e1](https://github.com/hevelius/gtl-maps/commit/cbd31e18ab3958259d5e6a7fe0ffdc3a18e62821))
 * update maps url ([7722dbf](https://github.com/hevelius/gtl-maps/commit/7722dbf73d5d30ee11b3f151e31ac8b2635e3ae9))
 * update readme ([29e7562](https://github.com/hevelius/gtl-maps/commit/29e75628369b1ecdd5be68a77cb345d671e34d31))
 * update readme ([69614e7](https://github.com/hevelius/gtl-maps/commit/69614e791133f08ac063a590cba5fe95ccad305d))
 * update readme.txt ([58ce69f](https://github.com/hevelius/gtl-maps/commit/58ce69f6ac1664ca8ac072ae7ace3b0a5c9a7611))
 * update strings ([56a3912](https://github.com/hevelius/gtl-maps/commit/56a3912a102c7f2a08f51b316b191d20911a4834))
 * update strings items ([45e7143](https://github.com/hevelius/gtl-maps/commit/45e7143c13618e9bec2da8c47d773de31867709b))
 * update sync ([c16ea00](https://github.com/hevelius/gtl-maps/commit/c16ea00d6387b8ec151a752e094f90c5d01db026))
 * update sync files ([9b2f299](https://github.com/hevelius/gtl-maps/commit/9b2f299f436321e94ca45c67a89fd5f0efdb5b3f))
 * update testing info ([a91d124](https://github.com/hevelius/gtl-maps/commit/a91d124699503f34a8ffb864e26999daeea7d899))

#### [0.0.20](https://github.com/hevelius/gtl-maps/compare/0.0.19…0.0.20) (2025-11-29)

### Bug Fixes

 * mobile scroll point ([af7a31c](https://github.com/hevelius/gtl-maps/commit/af7a31cb33d550a700664060260c389007cfcaaa))

#### [0.0.19](https://github.com/hevelius/gtl-maps/compare/0.0.18…0.0.19) (2025-11-08)

### Bug Fixes

 * linter and test errors ([76199de](https://github.com/hevelius/gtl-maps/commit/76199ded486f571ee8b9af8b05a679a2a55007ba))

### Miscellaneous Chores

 * add core poi relink function ([62b0807](https://github.com/hevelius/gtl-maps/commit/62b080702bec2d6d30892f195b9796511f1163c2))

#### [0.0.18](https://github.com/hevelius/gtl-maps/compare/0.0.17…0.0.18) (2025-11-08)

### Miscellaneous Chores

 * add collapsed poi panel ([7223174](https://github.com/hevelius/gtl-maps/commit/7223174b98cb84518218faf89e76e605c7b6073e))
 * increase words trim ([c494b41](https://github.com/hevelius/gtl-maps/commit/c494b41d306cd9203f707468a79d780d2da66067))
 * move footer in body card ([c580774](https://github.com/hevelius/gtl-maps/commit/c580774084df5a6b34ce360fcf24b0a93b71b2dd))
 * new behaviour sidecard ([7023e38](https://github.com/hevelius/gtl-maps/commit/7023e387c2baa0bb091a803236c5ca003c96adf4))
 * remove unused comment ([61b9ac0](https://github.com/hevelius/gtl-maps/commit/61b9ac0c0ffb861dd7070e9cf35d32e447ef6cab))
 * update strings ([0fb3e10](https://github.com/hevelius/gtl-maps/commit/0fb3e1061b1ad8318dd16addfde4c6c1828e9ef2))

#### [0.0.17](https://github.com/hevelius/gtl-maps/compare/0.0.16…0.0.17) (2025-11-06)

### Bug Fixes

 * escape string ([6a1a764](https://github.com/hevelius/gtl-maps/commit/6a1a764c306f537eea5ebe64d2f75bd719e921e1))

### Miscellaneous Chores

 * update ([1beeb9a](https://github.com/hevelius/gtl-maps/commit/1beeb9ad4c5848b9a1507d466abf6d54e8a51888))
 * update maps url ([86ca716](https://github.com/hevelius/gtl-maps/commit/86ca7165ab8cc4ebdd3d1db19977c463d90ecd08))
 * update strings items ([99a9b52](https://github.com/hevelius/gtl-maps/commit/99a9b52d9af77587d0dfff6b2ec6a4732fcd65ac))

#### [0.0.16](https://github.com/hevelius/gtl-maps/compare/0.0.15…0.0.16) (2025-10-28)

### Miscellaneous Chores

 * pipeline update ([becbfeb](https://github.com/hevelius/gtl-maps/commit/becbfebfdb6da41bbc061cd1831ef318455673fd))

#### [0.0.15](https://github.com/hevelius/gtl-maps/compare/0.0.14…0.0.15) (2025-10-28)

### Miscellaneous Chores

 * add screenshot ([d1badcb](https://github.com/hevelius/gtl-maps/commit/d1badcba9bbea5b9b04ad86cdc5d318901bc8a7f))
 * update ([91867dd](https://github.com/hevelius/gtl-maps/commit/91867dd6aca7a1930fd2abc955244fe7646c7923))
 * update ([b3ea610](https://github.com/hevelius/gtl-maps/commit/b3ea6105d073d2820ff8158a5c679f096914c329))
 * update sync ([0cce6b9](https://github.com/hevelius/gtl-maps/commit/0cce6b9717a2ff0fbc0d5631dcbd8172cb941d6e))

#### [0.0.14](https://github.com/hevelius/gtl-maps/compare/0.0.13…0.0.14) (2025-10-28)

### Miscellaneous Chores

 * update ([211ccaa](https://github.com/hevelius/gtl-maps/commit/211ccaa8ad1b09e1b2d141356ca629053b5ff5d6))
 * update ([f95fa43](https://github.com/hevelius/gtl-maps/commit/f95fa4351af5b616be9326ebfe3ee8fbdacaa892))
 * update readme ([47d9894](https://github.com/hevelius/gtl-maps/commit/47d9894acf5417bcf542581ef4e28845c1820e0b))

### Third-Party Libraries

This plugin includes the following open-source libraries:

 * **Leaflet.js** – BSD-2-Clause License – https://leafletjs.com/
    Interactive mapping
   library for displaying GPX routes and points of interest on dynamic, tile-based
   maps.
 * **Chart.js** – MIT License – https://www.chartjs.org/
    JavaScript charting library
   for rendering elevation profile visualizations with interactive tooltips.
 * **leaflet-gpx** – BSD-2-Clause License – https://github.com/mpetazzoni/leaflet-
   gpx
    Leaflet plugin for parsing and displaying GPX track files with waypoint 
   markers.

All included libraries are GPL-compatible and bundled locally for optimal performance
and reliability.

## Screenshot

 * [[
 * Backend route editor showing GPX upload meta box with automatically computed 
   distance, elevation gain/loss, and route statistics
 * [[
 * Frontend interactive Leaflet map with elevation profile chart and POI category
   filters for enhanced user experience
 * [[
 * POI management screen with custom category icons and automatic route association
   based on configurable radius settings
 * [[
 * Settings page for configuring map tile provider, POI association radius, and 
   display options

## Installazione

 1. Upload the plugin folder to `/wp-content/plugins/` or install directly through 
    the WordPress **Plugins  Add New** screen.
 2. Activate the plugin through the **Plugins** menu in WordPress.
 3. **(Optional) Configure Settings:**
 4.  * Go to **Settings  GTL Maps**
     * Set the POI-to-route association radius (default: 2km)
     * Configure default map center coordinates if needed
 5. **Create Your First Route:**
 6.  * Navigate to **Routes  Add New**
     * Enter a route title and optional description
     * Upload a GPX file in the “GPX Data” meta box
     * Add route categories and difficulty level
     * Click **Publish**
 7. **Display the Map:**
 8.  * Maps automatically appear on single route posts
     * Use the `[gtlmaps]` shortcode on any page: `[gtlmaps id="123"]` for specific
       route, `[gtlmaps category="cycling"]` for category
     * Add the **Route Details** widget to your sidebar via **Appearance  Widgets**

**Troubleshooting:**
 – If maps don’t display, check that JavaScript is enabled –
For GPX upload issues, ensure file is valid GPX format and under your server’s upload
limit – For more help, visit the support forum

For detailed GPX requirements and advanced shortcode options, see the **FAQ** section.

## FAQ

### How do I adjust the automatic POI-to-route radius?

Go to **Settings  GTL Maps** and change the “Association radius (km)” option. This
controls how far a POI can be from the route polyline to be considered related.

### Can I customize the map tiles?

Yes. Filter or override the localized `GTLMaps.tiles` JavaScript property, or dequeue`
gtl-front` and enqueue your own script variant that sets a different tile URL/provider.

### Does the plugin work without pretty permalinks?

The REST endpoints rely on the WordPress REST API, which functions with or without
pretty permalinks. Ensure your site can serve `/wp-json/` routes.

### How do I import GPX files?

Navigate to **Routes  Add New**, enter a title for your route, then scroll to the“
GPX Data” meta box. Click “Choose File” to upload your GPX file. Once uploaded, 
the plugin automatically computes distance, elevation gain/loss, and bounding coordinates.
Click “Publish” to make the route live.

### What GPX formats are supported?

The plugin supports standard GPX 1.0 and 1.1 formats with track points (trkpt), 
waypoints (wpt), and route data. Files exported from popular GPS apps like Strava,
Garmin Connect, Komoot, and Ride with GPS work seamlessly.

### Can I display maps without using shortcodes?

Yes! Maps automatically display above single route post content. You can also use
the Route Details widget in your sidebar or the `[gtlmaps]` shortcode for manual
placement on any page.

### How do I add Points of Interest?

Go to **POIs  Add New**, enter the POI details including coordinates (latitude and
longitude), and assign a category. POIs within the configured radius (set in Settings
GTL Maps) are automatically associated with nearby routes.

### Can I customize map markers and icons?

Yes! Each POI category supports custom icons. When editing a POI category, upload
an SVG or PNG icon file via the Media Library. The icon will display on the map 
for all POIs in that category.

### Is the plugin compatible with page builders?

Yes! Use the `[gtlmaps]` shortcode in any page builder that supports WordPress shortcodes,
including Elementor, Beaver Builder, Divi, and Gutenberg blocks.

### How do I change the map tile provider?

The default tile provider is configurable via the `GTLMaps.tiles` JavaScript property.
You can filter or override this in your theme by dequeueing the plugin’s script 
and enqueueing your own with a different tile URL. OpenStreetMap, Mapbox, and other
Leaflet-compatible providers are supported.

## Recensioni

Non ci sono recensioni per questo plugin.

## Contributi e sviluppo

“GTL Maps” è un software open source. Le persone che hanno contribuito allo sviluppo
di questo plugin sono indicate di seguito.

Collaboratori

 *   [ hevelius0 ](https://profiles.wordpress.org/hevelius0/)
 *   [ hevelius ](https://profiles.wordpress.org/hevelius/)

[Traduci “GTL Maps” nella tua lingua.](https://translate.wordpress.org/projects/wp-plugins/gtl-maps)

### Ti interessa lo sviluppo?

[Esplora il codice](https://plugins.trac.wordpress.org/browser/gtl-maps/) segui 
il [repository SVN](https://plugins.svn.wordpress.org/gtl-maps/), segui il [log delle modifiche](https://plugins.trac.wordpress.org/log/gtl-maps/)
tramite [RSS](https://plugins.trac.wordpress.org/log/gtl-maps/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### [0.2.2](https://github.com/hevelius/gtl-maps/compare/0.2.1…0.2.2) (2026-04-12)

## Meta

 *  Versione **0.3.0**
 *  Ultimo aggiornamento **4 settimane fa**
 *  Installazioni attive **Meno di 10**
 *  Versione WordPress ** 6.0 o superiore **
 *  Testato fino alla versione **6.9.4**
 *  Versione PHP ** 7.4 o superiore **
 *  Lingua
 * [English (US)](https://wordpress.org/plugins/gtl-maps/)
 * Tag
 * [GPX](https://it.wordpress.org/plugins/tags/gpx/)[leaflet](https://it.wordpress.org/plugins/tags/leaflet/)
   [maps](https://it.wordpress.org/plugins/tags/maps/)[poi](https://it.wordpress.org/plugins/tags/poi/)
   [routes](https://it.wordpress.org/plugins/tags/routes/)
 *  [Visualizzazione avanzata](https://it.wordpress.org/plugins/gtl-maps/advanced/)

## Valutazioni

Non sono state ancora inviate recensioni.

[Your review](https://wordpress.org/support/plugin/gtl-maps/reviews/#new-post)

[Vedi tutte le recensioni](https://wordpress.org/support/plugin/gtl-maps/reviews/)

## Collaboratori

 *   [ hevelius0 ](https://profiles.wordpress.org/hevelius0/)
 *   [ hevelius ](https://profiles.wordpress.org/hevelius/)

## Supporto

Hai qualcosa da dire? Ti serve aiuto?

 [Chiedi nel forum di supporto](https://wordpress.org/support/plugin/gtl-maps/)