2016-06-04 1 views
0

на основе this minimal example из Mapael (часть соответствующего кода здесь):Рафаэль: Mapael: триггер Update не работает, и никаких ошибок не приведены

$('#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}]); 
    }); 

Я создал this example страницу с триггером обновление это прекрасно работает. Теперь я хочу перенести это на свою настоящую прикладную php-страницу, и это не сработает! Пожалуйста, take a look here.

Досадной частью является то, что консоль моего браузера не показывает никаких ошибок! Как я могу отладить эту проблему, если не вижу ошибок? Пожалуйста помогите!

Если вам нужна дополнительная информация, пожалуйста, спросите. Спасибо за любые усилия.

PS: Пожалуйста, игнорируйте плохой стиль, что сценарий и код CSS находятся в теле. Я исправлю это, как только эта проблема будет решена. Я не думаю, что это проблема, так как примерная страница, которая работает, точно такая же и не имеет этой проблемы.

ответ

0

Во-первых, примите к сведению, что вы используете различные версии Maphael:

  • на странице, где он работает, версия 1.1.0,
  • на странице это 2.0.0- девиация

Во-вторых, после установки точки останова в методе «onUpdateEvent» Maphael (строка 876) просто кажется, что данные события просто не передаются в обработчик.

Имеет ли событие «обновление» та же подпись для Maphael/Raphael 1.x и 2.x? Это место, на которое вы должны обратить внимание.

Update: Я взял взгляд на 2.0.0-Дев внутренностей, и, кажется, что ваш код обновления должен быть что-то вроде этого:

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]); 

)

Пожалуйста, проверьте, если это помогает (хотя я бы рекомендовал вам перейти на стабильную 1.1.0 выпуска Maphael).

+0

Большое спасибо! Я попробую понизить сейчас ... Я не понимал, что главная ветка репо - версия 2.0-dev ... Это странно! –

+0

@TheQuantumPhysicist, использующий главную ветку (вместо отдельной ветви) для разработки, обычно для многих проектов, к сожалению. В Github вы всегда должны перейти на страницу «релизы» и загрузить последнюю стабильную версию: https://github.com/neveldo/jQuery-Mapael/releases –

+0

Он работал после перехода на 1.1.0 через тег 1.1.0! Большое спасибо! –

Смежные вопросы