2010-05-14 29 views
0

我正在將bing地圖整合到網頁中。我打電話給我的VEMap選項的GetDirections()方法。並在調用VEMap.GetDirections()時將VERouteOptions.ShowDisambiguation屬性設置爲true。所以有時我得到下面的對話框:如何通過API調用刪除Bing消歧對話框?

'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

我以前的方法存在問題。你需要隱藏消歧義對話框,而不是刪除它,否則,如果你第二次輸入不完整的地址,你會得到javascript錯誤。顯然,每次輸入不完整的地址時都不會重新生成對話,其內容只是被替換。

2

而是然後用CSS隱藏的div,你可以進行下面的調用來禁用該對話框:

map.ShowDisambiguationDialog(假);

這應該解決您的問題。

也可以修改map.Find參數禁用對話框:

map.Find(什麼,在哪裏,類型[VEFindType.Business],層[底圖],則startIndex [0],numberOfResults [10],showResults [true],createResults [true],useDefaultDisambiguation [true],setBestMapView [true],callback)

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

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

+0

我會覈實的,如果正確的投票和標記答案。這是一個新的API調用?我錯過了嗎? – 2011-02-01 02:14:43