0

私はBingMapsをWebページに統合しています。VEMapオプションのGetDirections()メソッドを呼び出しています。VEMap.GetDirections()を呼び出すときに、VERouteOptions.ShowDisambiguationプロパティをtrueに設定します。そのため、次のダイアログが表示されることがあります。

[場所を選択]ダイアログhttp://img249.imageshack.us/img249/6153/bingdisambiguationdialo.png

問題は、ユーザーがフォームに2番目の方向セットを入力しても、ダイアログが表示されたままになる場合があることです。私はそれを修正するために次のことをしました:

    // 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 に答える