Je travaille sur un site qui utilise la v7 du contrôle AJAX de Bing Maps. Une des choses que je dois faire est de restreindre le niveau de zoom afin d'empêcher les utilisateurs de zoomer après un certain niveau, ou de faire un zoom arrière après un certain niveau.Restreindre le zoom min/max sur une carte Bing avec la v7 du contrôle AJAX?
J'ai trouvé une méthode "getZoomRange" sur l'objet Map, après l'avoir inspecté, il renvoie simplement un littéral d'objet avec les propriétés "min" et "max". Donc, j'ai pensé que le surcharger ferait probablement l'affaire:
// "map" is our Bing Maps object
map.getZoomRange = function()
{
return {
max: 14
min: 5
};
};
... mais pas. Il n'a aucun effet (il a en fait quelque chose à voir avec l'apparence du curseur de zoom lors de l'utilisation du tableau de bord par défaut).
Le piratage de l'événement et son blocage semblent également n'avoir aucun effet.
L'une des mises à jour de raison à v7 de l'API Bing Maps genre de genre de cassé cela. Il fonctionne toujours correctement dans la plupart des cas, mais si un utilisateur effectue un zoom avant ou arrière agressif à l'aide de la molette de la souris, l'événement "viewchangestart" ne l'attrape pas toujours correctement. Ma solution consistait à appeler la fonction "restrictZoom" à la fois sur les événements "viewchangestart" et "viewchange". Je ne vérifie pas non plus si le zoom est "> =" ou "<="; Je vérifie plutôt si le zoom est ">" ou "<". Cela fonctionne mieux sur tous les exemples que j'ai trouvés. –
Cela ne fonctionne pas pour moi dans la version 8 de l'API Bing Maps – Ciwan