@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, которые предоставляют более продвинутые инструменты для работы с интерактивными картами.