1

我有以下必应地图 v7: http://new.piperrealtycompany.com/temp/test2.cfm?city= fenton

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

如果地图的话,我会有一个外部相应链接的列表。

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

我正在努力实现这样的目标! http://www.zillow.com/flint-township-mi/ 。如何才能做到这一点?

4

1 回答 1

2

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

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

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

<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
    }
}
于 2013-07-31T13:18:12.973 回答