ArcGIS Javascript - Zoom pour afficher tous les points
Je suis en train d'ajouter quelques fonctionnalités qui vont agrandir la carte en/hors fonction du nombre de points qui sont renvoyées par une requête. Ainsi, par exemple, dire que nous sommes un zoom avant sur l'état du Texas. Si j'exécute une requête et le service de retour des points qui sont dans le Texas ET certains situé en Californie, je voudrais la carte, puis effectuer un zoom arrière et ensuite afficher à la fois en Californie et au Texas. J'ai été à la recherche par le biais de la ArcGIS API JS pour voir comment je pouvais le mettre en œuvre mais je vais avoir du mal à déterminer quelles sont les propriétés et/ou les méthodes à utiliser pour accomplir cette.
source d'informationauteur John F.
Vous devez vous connecter pour publier un commentaire.
La
FeatureSet
fourni à laQueryTask
'sonComplete
de rappel a la propriétéfeatures
qui est un tableau deGraphics
.L'api javascript fournit la
esri.graphicsExtent(graphics)
fonction de ce que peut accepter que le tableau deGraphics
et calculer leur mesure. Une fois que la mesure a été calculé,map.setExtent(extent)
peut être utilisé pour agrandir la carte.Il convient de noter que la documentation pour
esri.graphicsExtent(...)
précise que " Si la mesure de la hauteur et la largeur de 0, null est retourné.' Ce cas se produit si le retour de l'Graphics
tableau n'a qu'un seul point en elle, de sorte que vous aurez envie de vérifier.Voici un exemple
QueryTask
onComplete
rappel qui pourrait être utilisée pour agrandir la carte pour les extensions de points retourné par la requête:Je suis d'accord,
map.setExtent(extent, true)
est le chemin à parcourir ici. Une autre observation: Dans le cas où nous n'avons qu'un seul point, il est utile de considérer simplement à l'aide demap.centerAndZoom(point, ZOOM_LEVEL)
au lieu de créer une mesure. Ensuite, nous pourrions tout simplement avoir ceci: