2010-05-14 4 views
0

Я интегрирую карты bing в веб-страницу. Я называю метод GetDirections() моего варианта VEMap. и установление свойства VERouteOptions.ShowDisambiguation в true, когда я вызываю VEMap.GetDirections(). Так что иногда я получаю следующий диалог:Как удалить диалоговое окно Bing Disambiguation Dialog через вызов API?

'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(); 

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

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

ответ

0

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

2

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

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? Я пропустил это? –

 Смежные вопросы

  • Нет связанных вопросов^_^