拉斐尔:马帕尔:更新触发器不起作用,没有给出任何错误



基于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 代码在正文中的不良样式。解决此问题后,我将解决此问题。我认为这不是问题所在,因为工作的示例页面完全相同并且没有此问题。

首先,请注意您使用的是不同版本的 Maphael:

  • 在其工作的页面上,版本为1.1.0,
  • 在您的页面上,它是 2.0.0-dev。

其次,在 Maphael 的"onUpdateEvent"方法(第 876 行)设置断点后,事件数据似乎没有传递到处理程序中。

"更新"事件是否具有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]);

请检查它是否有帮助(尽管我会重新评论您切换到稳定的 Maphael 1.1.0 版本)。

相关内容

  • 没有找到相关文章

最新更新