Как удалить диалог устранения неоднозначности Bing через вызов API? - PullRequest
0 голосов
/ 15 мая 2010

Я интегрирую карты Bing в веб-страницу. Я вызываю метод GetDirections () моей опции VEMap. и устанавливаем для свойства VERouteOptions.ShowDisambiguation значение true, когда я вызываю VEMap.GetDirections (). Поэтому иногда я получаю следующий диалог:

Диалог «Выбрать местоположение» 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();

Кажется, это работает, но похоже на неоптимальный подход. Есть ли лучший способ сделать это?

ОБНОВЛЕНИЕ: Первоначально я удалял диалог. Это вызвало проблемы, поэтому я просто спрятал это сейчас, и это решило проблемы, которые он создал. Поскольку я еще не принял свой ответ, я меняю вопрос, поэтому я изменил вопрос, чтобы отразить его.

Ответы [ 2 ]

2 голосов
/ 01 февраля 2011

Вместо того, чтобы скрыть div с CSS, вы можете сделать следующий вызов, чтобы отключить диалог:

map.ShowDisambiguationDialog (ложь);

Это должно решить вашу проблему.

Вы также можете изменить карту. Найдите параметры, чтобы отключить диалоговое окно:

map.Find (что, где, тип [VEFindType.Business], слой [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

0 голосов
/ 17 мая 2010

Есть проблема с моим предыдущим подходом.Вам необходимо скрыть диалоговое окно устранения неоднозначности, а не удалять его, в противном случае вы получите ошибки JavaScript, если вы введете неполный адрес во второй раз.Очевидно, что диалоговое окно не обновляется каждый раз, когда вводится неполный адрес, его содержимое просто заменяется.

...