Maps Bing地图信息框的动态操作

Maps Bing地图信息框的动态操作,maps,bing-maps,Maps,Bing Maps,我正在创建一个实现Bing地图控件的站点。 我已经放置了图钉,当用户单击图钉时,图钉将显示信息框 我现在需要做的是向信息框添加操作。我可以使用action:option静态地执行此操作。我想动态地做这件事,因为每个站点都可以有一组不同的操作,我想呈现给用户 我已经构建了一个包含动作的字符串,不幸的是,infobox想要的是一个对象,而不是字符串,我不知道它想要哪个对象,也不知道如何将字符串转换为正确的对象 任何帮助都将不胜感激 谢谢 虽然您没有“设置操作”,但可以使用信息框上的“设置选项” in

我正在创建一个实现Bing地图控件的站点。 我已经放置了图钉,当用户单击图钉时,图钉将显示信息框

我现在需要做的是向信息框添加操作。我可以使用action:option静态地执行此操作。我想动态地做这件事,因为每个站点都可以有一组不同的操作,我想呈现给用户

我已经构建了一个包含动作的字符串,不幸的是,infobox想要的是一个对象,而不是字符串,我不知道它想要哪个对象,也不知道如何将字符串转换为正确的对象

任何帮助都将不胜感激

谢谢

虽然您没有“设置操作”,但可以使用信息框上的“设置选项”

infobox.setOptions(infoboxOptions);
参考:

选项本身可以这样创建,只需执行以下操作:

var infoboxOptions = {
    actions:[
        {label: 'test1', eventHandler: testEvent1}, 
        {label: 'test2', eventHandler: testEvent2}]};
参考:

您可以随时调用它,从而向infobox添加更多操作

现在,你提到你有一根绳子?我猜您是在谈论“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});
虽然您没有“设置操作”,但可以使用信息框上的“设置选项”

infobox.setOptions(infoboxOptions);
参考:

选项本身可以这样创建,只需执行以下操作:

var infoboxOptions = {
    actions:[
        {label: 'test1', eventHandler: testEvent1}, 
        {label: 'test2', eventHandler: testEvent2}]};
参考:

您可以随时调用它,从而向infobox添加更多操作

现在,你提到你有一根绳子?我猜您是在谈论“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});

我实现了条件逻辑方法,效果很好。我实现了条件逻辑方法,结果非常好。非常感谢你的帮助。