SVG и только SVG.
Ну, можно, конечно, делать всякие абсолютно позиционированные прозрачные блоки на HTML, но там это сложнее позиционировать в силу отсутствия viewBox, как у SVG.
Кроме того, блоки на HTML не могут иметь произвольную форму, а только прямоугольную (clip-path не в счёт, с ним ещё сложнее будет реализовать), что вызовет проблемы при совмещении нескольких объектов произвольной формы вместе. Точнее, будет проблема с зоной взаимодействия этих объектов при наведении мышки из-за наложения прямоугольников.
Все такие интерактивные карты делают с помощью SVG, что как бы намекает.
https://medium.com/@mattcroak718/creating-an-inter...
Я делал такую карту с помощью Boxy SVG:
https://boxy-svg.com
Можно делать в Inkscape, там тоже есть режим просмотр кода разметки.