我有以下Bing Map v7:http://new.piperrealtycompany.com/temp/test2.cfm?city=fenton
其中我有一组图钉,每个图钉都与InfoBox相关联。
如果是地图,我会在外面找到相应链接的列表。
我需要列表中的链接在地图中打开相应的InfoBox并滚动图钉以突出显示列表中的相应链接。
我正在努力实现这样的目标! http://www.zillow.com/flint-township-mi/ 。 怎么办呢?
答案 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
}
}