我正在創建一個實現Bing地圖控件的網站。 我已經放置了圖釘,並且當用戶點擊一個圖釘時它們將顯示信息框。Bing地圖信息框的動態操作
我現在需要做的是向信息框添加動作。我可以使用action:選項靜態執行此操作。我想動態地做到這一點,因爲每個網站都可以有一組不同的動作,我想向用戶展示。
我已經建立了在其中有動作的字符串,不幸的是信息框想要一個對象而不是一個字符串,我不知道它想要哪個對象,也不知道如何將字符串轉換爲適當的對象。
任何幫助都將不勝感激。
謝謝!
我正在創建一個實現Bing地圖控件的網站。 我已經放置了圖釘,並且當用戶點擊一個圖釘時它們將顯示信息框。Bing地圖信息框的動態操作
我現在需要做的是向信息框添加動作。我可以使用action:選項靜態執行此操作。我想動態地做到這一點,因爲每個網站都可以有一組不同的動作,我想向用戶展示。
我已經建立了在其中有動作的字符串,不幸的是信息框想要一個對象而不是一個字符串,我不知道它想要哪個對象,也不知道如何將字符串轉換爲適當的對象。
任何幫助都將不勝感激。
謝謝!
雖然您沒有「setActions」,但您可以使用Infobox上的「setOptions」。
infobox.setOptions(infoboxOptions);
編號:http://msdn.microsoft.com/en-us/library/gg675208.aspx
選項本身可以這樣被創建,只用動作:
var infoboxOptions = {
actions:[
{label: 'test1', eventHandler: testEvent1},
{label: 'test2', eventHandler: testEvent2}]};
編號:http://msdn.microsoft.com/en-us/library/gg675210.aspx
您可以撥打這個,只要你願意,從而爲信息框增加了更多的動作。
現在,你提到你有一個字符串?我猜你在談論「infoboxOptions」等的JSON表示。您可以使用類似
jQuery.parseJSON(jsonString); //if using jQuery
你也可以做到這一點編程,因此很可能與一些有條件的邏輯:
var myActions = [];
if(A) {
myActions.push({label: 'test1', eventHandler: testEvent1});
}
if(B) {
myActions.push({label: 'test2', eventHandler: testEvent2});
}
if(C) {
myActions.push({label: 'test3', eventHandler: testEvent3});
}
infobox.setOptions({ actions: myActions});
我實現了條件邏輯的做法,並制定出巨大。 你非常樂意幫忙。 – 2013-04-04 14:32:13