【问题标题】:Bing Map adding infoBox from array of pins必应地图从引脚数组中添加信息框
【发布时间】:2012-11-03 01:47:07
【问题描述】:

尝试为每个引脚添加一个信息框,每个引脚从一个单独的函数加载,并从 xml 文件中附加相应的标题、描述、纬度/经度等。 (source if needed)

在接收引脚数组的函数中,我试图遍历每个项目并相应地添加信息框。关于我在这里缺少什么的任何想法?

      function GeoRSSImportedCallback(items, bounds) {
          map.entities.push(items);

          for (var i = 0; i<items.length; i++) {
            items.Title = items.title;
            items.Description = items.description;
            Microsoft.Maps.Events.addHandler(itmes, 'click', displayInfoBox);
          }

          map.entities.push(infoboxLayer);
          map.setView({ bounds: bounds });
      }

    function displayInfoBox(e) {
        pinInfoBox.setOptions({title: e.target.Title, description: e.target.Description, visible:true, offset: new Microsoft.Maps.Point(0,25)});
        pinInfoBox.setLocation(e.target.getLocation());
}

我确实在GetMap() 函数中初始化了以下内容

        pinInfoBox = new Microsoft.Maps.Infobox(new Microsoft.Maps.Location(0, 0), { visible: false });
        infoboxLayer.push(pinInfoBox);

【问题讨论】:

    标签: javascript map bing-maps bing


    【解决方案1】:

    您的代码使用了不属于各种 Bing 地图对象的属性,因此我假设这是您的意图。您的 for 循环也有错误,以下应该更正确:

      function GeoRSSImportedCallback(items, bounds) {
          map.entities.push(items);
    
          for (var i = 0; i<items.length; i++) {
            items[i].Title = items[i].title; // Assumes .title is defined
            items[i].Description = items[i].description; // Assumes .description is defined
            Microsoft.Maps.Events.addHandler(items[i], 'click', displayInfoBox);
          }
    
          map.entities.push(infoboxLayer);
          map.setView({ bounds: bounds });
      }
    

    【讨论】:

    • 是的,.title 和 .description 是在导入模块中定义的。修复循环,信息框无法出现。另外,哪些对象不是 Bing 地图的原生对象?
    • 据我所知 .title 和 .description 不是 PushPin 对象的原生属性。我建议在您的浏览器中使用 javascript 调试器来调试您的脚本,以准确查看问题出在哪里。我在 SO 上为你调试你的代码是不切实际的。
    • 同意图钉对象没有 .title 和 .description。所有这些属性都由模块传递到单个数组中。模块——我已经列出了源代码——从 xml 文件中解析信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 2017-05-13
    • 1970-01-01
    相关资源
    最近更新 更多