Ну, один из способов - установить карту в качестве фонового изображения div
и сопоставить ее размер с помощью CSS. Затем зарегистрируйте слушателя перемещения мыши над этим div
. Теперь всякий раз, когда мышь движется, проверьте ее координаты и, используя эту фигуру, определите, какая область находится под ней.
Теперь было бы интересно взломать вторую проблему. Как сохранить размер неправильной формы. Ну, одним из способов может быть разделение изображения на сетки, может быть один пиксель толщиной или несколько пикселей, в зависимости от необходимой точности. Затем сохраните его в массиве вроде (0 => (1, 5), 1 => (0, 6), ..). В этом случае говорится, что для строки 0 область начинается в столбце 1 и заканчивается в столбце 5. В строке 1 область начинается в столбце 0 и заканчивается в 6; и т. д.
Надеюсь, это имеет смысл.