0

我正在将 bing 地图集成到网页中。我正在调用我的 VEMap 选项的 GetDirections() 方法。并在我调用 VEMap.GetDirections() 时将 VERouteOptions.ShowDisambiguation 属性设置为 true。所以有时我会得到以下对话框:

“选择位置”对话框 http://img249.imageshack.us/img249/6153/bingdisambiguationdialo.png

问题是有时用户会在我的表单中输入第二组方向,并且对话框仍然存在。我已执行以下操作来纠正它:

    // In case the disambiguation dialog a.k.a "" is present from a previous direction search
    $('#myMap_veplacelistpanel').hide();

它似乎有效,但感觉像是一种次优方法。有更好的方法吗?

更新:最初我正在删除对话框。这引起了问题,所以我现在就把它隐藏起来,这就解决了它造成的问题。由于我尚未接受自己的答案,因此我正在更改问题,我更改了问题以反映它。

4

2 回答 2

2

您可以进行以下调用来禁用对话框,而不是使用 CSS 隐藏 div:

map.ShowDisambiguationDialog(false);

那应该可以解决您的问题。

也可以修改map.Find参数来禁用对话框:

map.Find(what, where, type [VEFindType.Business], layer [base map], startIndex [0], numberOfResults [10], showResults[true], createResults [true], useDefaultDisambiguation [true], setBestMapView [true] , 打回来)

例如:map.Find(null, searchstr, null, null, null, null, false, null, false, false, AddPin);

来源:http: //msdn.microsoft.com/en-us/library/bb545005.aspx

于 2011-01-31T21:21:32.823 回答
0

我以前的方法有问题。您需要隐藏消歧对话框,而不是删除它,否则如果您再次输入不完整的地址,则会出现 javascript 错误。显然,每次输入不完整的地址时都不会重新生成对话框,它的内容只是替换。

于 2010-05-17T12:24:48.647 回答