2010-05-14 2 views
0

J'intègre des cartes Bing dans une page Web. J'appelle la méthode GetDirections() de mon option VEMap. et définissant la propriété VERouteOptions.ShowDisambiguation à true lorsque j'appelle VEMap.GetDirections(). Alors parfois je reçois le dialogue suivant:Comment supprimer le dialogue de désambiguïsation Bing via un appel d'API?

'Select A Location' Dialog http://img249.imageshack.us/img249/6153/bingdisambiguationdialo.png

Le problème est parfois l'utilisateur va entrer dans une deuxième série de directions dans ma forme, et le dialogue reste. J'ai fait ce qui suit pour le corriger:

// In case the disambiguation dialog a.k.a "" is present from a previous direction search 
    $('#myMap_veplacelistpanel').hide(); 

Cela semble fonctionner, mais cela semble être une approche sous-optimale. Y a-t-il une meilleure façon de le faire?

MISE À JOUR: À l'origine, je supprimais le dialogue. Cela a causé des problèmes, alors je le cache maintenant, et cela a résolu les problèmes qu'il a créés. Puisque je n'ai pas encore accepté ma réponse personnelle, je change la question que j'ai changée la question pour la refléter.

Répondre

0

Il y a un problème avec mon approche précédente. Vous devez masquer le dialogue de désambiguïsation, ne pas le supprimer, sinon vous obtenez des erreurs javascript si vous entrez une adresse incomplète une seconde fois. Apparemment, la boîte de dialogue n'est pas régénérée chaque fois qu'une adresse incomplète est entrée, son contenu est simplement remplacé.

2

plutôt cacher alors la div avec CSS, vous pouvez faire l'appel suivant pour désactiver la boîte de dialogue:

map.ShowDisambiguationDialog (false);

Cela devrait résoudre votre problème.

Vous pouvez également modifier les paramètres de map.Find pour désactiver la boîte de dialogue:

map.Find (quoi, où, tapez [VEFindType.Business], couche [fond de carte], startIndex [0], numberOfResults [10], showResults [true], createResults [true], useDefaultDisambiguation [true], setBestMapView [true], callback)

Par exemple: map.Find (null, searchstr, null, null, null, null, false , null, false, false, AddPin);

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

+0

Je vérifierai, et si elle est correcte vote et marquer la réponse. Est-ce un nouvel appel d'API? Ai-je manqué ça? –

Questions connexes