Уменьшаем карту мира Рафаэля
В настоящее время я создаю заставку для сайта проекта. Мне было поручено создать карту мира с меню на боковой стороне и добавить мигающий эффект при наведении на подменю.
Я закончил с преобразованием / масштабированием карты, но у меня возникла проблема при наведении на подменю, маленькие красные круги не появляются там, где это должно быть. Без метода.transform() маленькие красные кружки всплывают правильно, но это дает мне большую, но обрезанную карту.
Я использовал метод.transform(), чтобы уменьшить карту мира.
Я положил метод.transform() здесь:
r.path(worldmap.shapes[country]).attr({stroke: "#9b59b6", fill: c, "stroke-opacity": 0.25}).transform("s.628,.740 0,0");
1 ответ
В коде все местоположения городов сохраняются как координаты lon/lat в атрибуте name. Затем он анализируется с помощью функции world.parseLatLon, которая затем вызывает getXY() . Я бы сказал, что в функции getXY возвращаемые координаты также должны быть преобразованы. Там происходит некоторая интересная манипуляция с числами (умножение на 2,6938, а затем добавление 465,4) - я бы сказал, что это корректировка координат для размера изображения. Теперь, когда вы изменили размер изображения, их также необходимо настроить