<!DOCTYPE html> <html> <head> <title>OpenStreetMap Unit Test tool</title> <script> async function generate() { document.getElementById("output").value = ""; let wayID = document.getElementById("wayID").value; let url = `https://api.openstreetmap.org/api/0.6/way/${wayID}.json`; try { let resp = await fetch(url); let json = await resp.json(); let tags = json.elements[0].tags; // Remove tags likely to not influence the output at all delete tags["name"]; let tagsArray = Object.entries(tags).map(([k, v]) => `${k}=${v}`); let output = { id: wayID, tags: tagsArray, output: ["kind", "direction", "width"], }; document.getElementById("output").value = JSON.stringify( output, null, 2 ); } catch (err) { document.getElementById("output").value = `Error: ${err}`; } } function copy() { navigator.clipboard.writeText(document.getElementById("output").value); } </script> </head> <body> <h1>OpenStreetMap Unit Test tool</h1> <label for="wayID">Enter OpenStreetMap Way ID:</label> <input type="text" id="wayID" /> <button onclick="generate()">Generate</button> <br /> <h2>Output:</h2> <button onclick="copy()">Copy</button> <br /> <textarea id="output" rows="10" cols="100" readonly></textarea> </body> </html>