На примере используется svg.
Карта отрисована в svg и код изображения вставлен в код сайта.
Svg элементам можно задавать свои классы (на примере - каждый регион - это svg-элемент "path")
Потом с помощью css эти элементы отлавливать и подсвечивать.
В интернетах много статей на тему inline svg.
Перечень css-свойств для svg можно посмотреть, например,
тут.