Javascript Bing地图从管脚阵列添加信息框

Javascript Bing地图从管脚阵列添加信息框,javascript,map,bing-maps,bing,Javascript,Map,Bing Maps,Bing,尝试向每个pin添加信息框时,每个pin都从单独的函数加载,并从xml文件中附加相应的标题、说明、lat/lon等。() 在接收管脚数组的函数中,我尝试循环遍历每个项目,并相应地添加信息框。你知道我在这里遗漏了什么吗 function GeoRSSImportedCallback(items, bounds) { map.entities.push(items); for (var i = 0; i<items.length; i++)

尝试向每个pin添加信息框时,每个pin都从单独的函数加载,并从xml文件中附加相应的标题、说明、lat/lon等。()

在接收管脚数组的函数中,我尝试循环遍历每个项目,并相应地添加信息框。你知道我在这里遗漏了什么吗

      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());
}

您的代码使用的属性不是各种Bing Maps对象的一部分,所以我假设这是您的意图。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 });
  }
函数GeoRSSImportedCallback(项、边界){
地图。实体。推送(项目);

对于(var i=0;iYes、.title和.description在导入模块中定义。修复循环后,信息框将无法显示。此外,哪些对象不是Bing Maps的本机属性?据我所知。title和.description不是PushPin对象的本机属性。我建议您在浏览器中使用javascript调试器调试脚本,以使其能够正常运行。)e问题的确切位置。我无法为您调试代码。同意pushpin对象没有.title和.description。所有这些属性都由一个模块在单个数组中传递。该模块(我列出了源代码)解析xml文件中的信息。
  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 });
  }