Ik heb een kleine WordPress plugin Maps GPX ontwikkeld waarmee het mogelijk wordt om een Google Maps kaartje in een WordPress pagina of bericht op te nemen waarbij er in de kaart een route en/of een stel markers getoond wordt. De lezer kan dan vrijelijk in en uitzoomen in de kaart. Dat is fijner dan een ingeplakte schermprint. Dat levert je dus zoiets op:
Deze plugin is nog erg rudimentair en vooral voor eigen gebruik. Hier leg ik (vooral mezelf) uit hoe de plugin geinstalleerd en gebruikt kan worden.
Stap 1 – Installeer de Maps GPX plugin
Gebruik Filezilla om in te loggen op de WordPress site bij je provider en ga naar de folder wp_content/plugins. Maak daar een folder mapsgpx aan, en zet twee files in die folder: gpxmaps-plugin.php en showpgpx_functions.js.

Nu moet er in je WordPress Plugin overzicht een mapsgpx plugin verschenen zijn.

Stap 2 – vul je Google Maps API key in
In WordPress is er nu onder Instellingen een Maps GPX pagina verschenen. Hier moet je je eigen Google Maps API key invullen.

Stap 3 – Zorg dat je GPX files kunt uploaden in Media
In WordPress is het nog niet mogelijk om gpx files te uploaden omdat dit MIME type niet bekend is. Dat kun je aanpassen met de Plugin File Upload Types.

Installeer de plugin File Upload Types van WPForms.
Open de Settings van deze plugin. Onderin de pagina staat Add Custom File Types. Vul daar in
- Description: GPS exchange format
- MIME type: text/xml
- Extension: .gpx
Dat levert je dan dit op:

stap 4 – Gebruik de mapsgpx plugin
Ten eerste moet je een gpx file (daar moet je zelf voor zorgen) uploaden in je Media bibliotheek.
Hier zie je wat van mijn eigen uploads in mijn media bibliotheek.

Ten tweede kun je in een pagina of bericht een stukje tekst als dit opnemen

Dat is dus:
- [
- mapsgpx
- route=’actual 2023-01-07′
- ]
Hierbij is ‘actual 2023-01-07’ de naam waaronder het media bestand is opgeslagen, dus niet de filenaam zelf.
Je kunt ook opnemen markers=’markers_NL_BE’ om een stel markers in te laten plakken.
Bovenstaande levert in je pagina op (als schermprint):

Alternatief: gebruik maps-gpx block
Ik heb ook een eigen Gutenberg block aangemaakt, waarmee het inplakken van een kaartje iets makkelijker is. Dan krijg je als pagina schrijver dit invulscherm waarin je ziet wat je moet invullen om een kaartje te tonen.

Ik heb helaas wel weer een nieuwe plugin moeten installeren om dit custom block te kunnen definieren (Genesis Custom Blocks). Het lukt me niet om daarin gemaakte block definitie te exporteren zodat anderen dit ook zouden kunnen gebruiken. Verder kent de WordPress App dit soort custom blocks niet, ze werken alleen in de website. Beetje suf dus wel.
Aanpassing maken?
Als je een aanpassing aan de plugin wilt maken:
- pas de files gpxmaps-plugin.php en showgpx_function.js aan, en doe dit zodanig dat oudere pagina’s, die de plugin al gebruikten, blijven werken. Ik vermoed dat je ook het versienummer van de plugin moet wijzigen.
- upload ze met Filezilla naar de juiste wordpress plugin folder
- wijzig in WordPress, in het Custom Block voor maps-gpx, hetgeen getoond wordt (tab 1) en hoe dat vertaald moet worden naar de onderliggende echte plugin (tab 2)
- test of alles werkt.
