我正在将bing地图集成到网页中。我正在调用我的VEMap选项的GetDirections()方法。当我调用VEMap.GetDirections()时,将VERouteOptions.ShowDisambiguation属性设置为true。所以有时我会得到以下对话框:
'Select A Location' Dialog 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();
它似乎有效,但感觉就像是次优的方法。有没有更好的方法呢?
更新:我原来是在删除对话框。这导致了问题所以我现在只是隐藏它,这解决了它产生的问题。由于我还没有接受我的自我回答,我正在改变我改变问题的问题以反映它。
答案 0 :(得分:2)
而不是使用CSS隐藏div,您可以进行以下调用以禁用对话框:
map.ShowDisambiguationDialog(假);
这应该可以解决你的问题。
您还可以修改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);
答案 1 :(得分:0)
我之前的方法存在问题。您需要隐藏消歧对话框,而不是删除它,否则如果您第二次输入不完整的地址,则会出现javascript错误。显然,每次输入不完整的地址时都不会重新生成对话框,其内容只是替换。