如何从Bing Map v7中的外部链接打开InfoBox?

时间:2012-12-10 06:13:41

标签: map bing

我有以下Bing Map v7:http://new.piperrealtycompany.com/temp/test2.cfm?city=fenton

其中我有一组图钉,每个图钉都与InfoBox相关联。

如果是地图,我会在外面找到相应链接的列表。

我需要列表中的链接在地图中打开相应的InfoBox并滚动图钉以突出显示列表中的相应链接。

我正在努力实现这样的目标! http://www.zillow.com/flint-township-mi/ 。 怎么办呢?

1 个答案:

答案 0 :(得分:1)

这很容易做到。首先,在将每个图钉添加到地图时,需要为每个图钉添加一个唯一值。例如:

var pin = new Microsoft.Maps.Pushpin(map.getCenter());
pin.MyPinID = 1234;
map.entities.push(pin);

由于您使用的是JavaScript,因此很容易向类中添加自定义属性。如果为每个图钉指定唯一值,则可以稍后遍历地图上的所有形状并查找此值。然后,您可以获取此值并将其链接到列表项。您可以通过几种不同的方式完成此操作。一种方法是在项目的rel标签中指定它。另一种方法是将值传递给项目的click事件,如下所示:

<a href="javascript:void(0);" onclick="FindPushpin(1234);">Link to pushpin</a>

然后,您可以创建一个循环遍历形状的方法:

function FindPushpin(id){
    var cnt = map.entities.getLength();
    var pin, temp;

    for(var I = 0; I< cnt; I++){
      temp = map.entities.get(I);
      if(temp.MyPinID && temp.MyPinID == id){
         pin = temp;
         break;
      }
    }

    if(pin){
      //you found the relative pin
    }
}