Рафаэль: Мапаэль: Триггер обновления не работает, и ошибок нет
На основании этого минимального примера Mapael (часть соответствующего кода приведена ниже):
$('#refresh').on('click', function() {
// Update some plots and areas attributes ...
var updatedOptions = {'areas' : {}, 'plots' : {}};
// add some new plots ...
var newPlots = {
"Dijon" : {
latitude : 47.323056,
longitude : 5.041944
}
}
$(".mapcontainer").trigger('update', [updatedOptions, newPlots, [], {animDuration : 1000}]);
});
Я создал этот пример страницы с триггером обновления, который работает нормально. Теперь я хочу переместить это на мою настоящую php-страницу приложения, и она не работает! Пожалуйста, посмотрите здесь.
Раздражает то, что консоль моего браузера не показывает никаких ошибок! Как я могу отладить эту проблему, если я не вижу ошибок? Пожалуйста помогите!
Если вам нужна дополнительная информация, пожалуйста, спросите. Спасибо за любые усилия.
PS: Пожалуйста, не обращайте внимания на плохую стилизацию, что скрипт и код CSS находятся в теле. Я исправлю это, как только эта проблема будет решена. Я не думаю, что это проблема, так как пример страницы, которая работает точно так же, и не имеет этой проблемы.
1 ответ
Во-первых, обратите внимание, что вы используете разные версии Maphael:
- на странице, где это работает, версия 1.1.0,
- на вашей странице это 2.0.0-dev.
Во-вторых, после установки точки останова в методе onUpdateEvent в Maphael (строка 876) просто кажется, что данные о событиях просто не передаются в обработчик.
Имеет ли событие "update" одинаковую подпись для Maphael/Raphael 1.x и 2.x? Это место, на которое вы должны посмотреть.
Обновление: я взглянул на внутреннюю часть 2.0.0-dev, и кажется, что ваш код обновления должен выглядеть примерно так:
var updatedOptions = {'areas': {}, 'plots' : {},
// add some new plots ...
newPlots: {
"Dijon" : {
latitude : 47.323056,
longitude : 5.041944
}
},
animDuration : 1000
};
$(".mapcontainer").trigger('update', updatedOptions);
(последняя строка может быть:
$(".mapcontainer").trigger('update', [updatedOptions]);
)
Пожалуйста, проверьте, помогает ли это (хотя я бы порекомендовал вам перейти на стабильную версию Map.0 1.1.0).