2012-12-10 77 views
1

我有以下Bing Map v7:http://new.piperrealtycompany.com/temp/test2.cfm?city=fenton如何在Bing Map v7中從外部鏈接打開InfoBoxes?

其中我有一套圖釘,每個圖釘都與信息框關聯。

如果地圖存在外部鏈接,我會列出相應的鏈接。

我需要列表中的鏈接在地圖中打開相應的InfoBox並滾動圖釘以突出顯示列表中的相應鏈接。

我想要實現這樣的事情! http://www.zillow.com/flint-township-mi/ 。 這怎麼辦?

回答

1

這很容易做到。首先,您需要在將每個圖釘添加到地圖時爲每個圖釘添加一個唯一值。例如:

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 
    } 
}