@jerad.kuphal
@jerad.kuphal
Для создания интерактивной карты на Canvas можно использовать JavaScript и различные библиотеки, такие как D3.js, Leaflet, OpenLayers или Mapbox.
Ниже представлен пример базовой интерактивной карты на Canvas с использованием D3.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<!DOCTYPE html> <html> <head> <title>Interactive Map</title> <script src="https://d3js.org/d3.v7.min.js"></script> <style> #map { border: 1px solid black; } </style> </head> <body> <h1>Interactive Map</h1> <div id="map"></div> <script> const width = 800; const height = 600; const svg = d3.select("#map") .append("svg") .attr("width", width) .attr("height", height); const cities = [ { name: "City A", x: 100, y: 200 }, { name: "City B", x: 300, y: 400 }, { name: "City C", x: 500, y: 100 } ]; svg.selectAll("circle") .data(cities) .enter() .append("circle") .attr("cx", d => d.x) .attr("cy", d => d.y) .attr("r", 10) .attr("fill", "red") .on("click", d => { alert("You clicked on " + d.name); }); </script> </body> </html> |
Этот код создает простую интерактивную карту на Canvas, на которой отображаются три города (круги) с возможностью клика на них для отображения названия города.
Для реализации функциональности зума и перемещения карты, а также для более сложных визуализаций и взаимодействий, можно использовать другие библиотеки или фреймворки, такие как Leaflet или Mapbox, которые предоставляют более продвинутые инструменты для работы с интерактивными картами.