Я написал несколько простых функций, чтобы перестроить все точки карты на каждом событии. Попробуйте это
function mapRebuild(scaleValue) {
var map = $("#imgmap"); // select your map or for all map you can choose $("map").each(function() { map = $(this);.....})
map.find("area").each(function() { // select all areas
var coords = $(this).attr("coords"); // extract coords
coords = coords.split(","); // split to array
var scaledCoords = "";
for (var coord in coords) { // rebuild all coords with scaleValue
scaledCoords += Math.floor(coords[coord] * scaleValue) + ",";
}
scaledCoords = scaledCoords.slice(0, -1); // last coma delete
$(this).attr("coords", scaledCoords); // set new coords
});
}
scaleValue может быть рассчитано как oldWindowWidth / newWindowWidth. Конечно, вам нужно сохранить значение oldWindowWidth при изменении размера окна. Возможно, мое решение не вовремя, но я надеюсь, что это кому-нибудь пригодится