【问题标题】:Bing Maps v7 Module not loading必应地图 v7 模块未加载
【发布时间】:2012-07-23 15:20:16
【问题描述】:

我正在尝试使用 Well Known Text Reader/Writer,但在加载模块时遇到问题。我在这里加载模块:

Microsoft.Maps.registerModule("WKTModule", "../../JS/WKTModule.js");
Microsoft.Maps.loadModule("WKTModule");

然后我定义一个层来添加形状:

var countyLayer = new Microsoft.Maps.EntityCollection();

但是当我尝试在下一个块中使用模型时,我收到错误“WKTModule is not defined”

jQuery.each(config.CountyData, function (k, v) {
    var polygon = WKTModule.Read(v.Value, { polygonOptions: { fillColor: new Microsoft.Maps.Color(50, 255, 0, 0), strokeColor: new Microsoft.Maps.Color(255, 0, 0, 0), strokeThickness: parseInt(1)} });
    countyLayer.push(polygon);
});

编辑:找到修复

我猜它发生的情况是,当我尝试使用该模块进行读取时,该模块没有及时加载。因此,我不只是在加载后调用该方法,而是将该函数添加到加载的设置中,以便在加载后调用该函数。这是新代码:

Microsoft.Maps.loadModule("WKTModule", { callback: addCounties });

var addCounties = function() {    
    jQuery.each(config.CountyData, function (k, v) {
        var polygon = WKTModule.Read(v.Value, { polygonOptions: { fillColor: new Microsoft.Maps.Color(50, 255, 0, 0), strokeColor: new Microsoft.Maps.Color(255, 0, 0, 0), strokeThickness: parseInt(1)} });
        countyLayer.push(polygon);
    });
};

【问题讨论】:

  • 您确定../../JS/WKTModule.js 是正确的路径吗?
  • @Rocket :我尝试过使用该路径、绝对路径以及该文件所在的外部站点的路径。他们都没有工作。

标签: javascript asp.net bing-maps


【解决方案1】:

原因是您试图在加载模块之前使用它。不要忘记它是一个外部文件,应该加载。

您可以使用callback 选项在模块加载时调用函数。

Microsoft.Maps.loadModule("WKTModule" {callback: function() {

    console.log('the module is ready now');
}});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-01
    相关资源
    最近更新 更多