Как удалить диалоговое окно устранения неоднозначности Bing с помощью вызова API?

Я интегрирую карты 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();

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

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


person Justin Dearing    schedule 14.05.2010    source источник


Ответы (2)


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

map.ShowDisambiguationDialog(false);

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

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

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

person dexus    schedule 31.01.2011
comment
Я проверю, и если правильно проголосуйте и отметьте ответ. Это новый вызов API? Я пропустил это? - person Justin Dearing; 01.02.2011

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

person Justin Dearing    schedule 17.05.2010