La version 4.27 de l'ArcGIS Maps SDK for JavaScript (anciennement connu sous
le nom d'ArcGIS API for JavaScript) vient d'être rendue disponible depuis le
12 juin 2023. Elle inclut la possibilité d'éditer les enregistrements associés
et les couches de scènes 3D, beaucoup d'améliorations du côté de la 3D, le
support du
nouveau service de localisation d'ArcGIS Platform, ainsi que de nombreuses autres fonctionnalités que vous pouvez commencer à
utiliser dès maintenant. Voyons ensemble dans cet article nous réserve cette
dernière mise à jour
Vous pouvez désormais
modifier les enregistrements associés via le widget
Editor, directement dans l'interface Map Viewer d'ArcGIS Online ou en utilisant
l'API Javascript. La classe
RelationshipElement
nouvellement ajoutée vous permet de configurer la relation dans le
modèle de formulaire, qui sera automatiquement reconnue par le widget Editor une fois le
formulaire créé.
Le support est actuellement limité aux relations entités à table mais d'autres
améliorations, notamment l'édition de relations d'entités à entités et de
table à table, sont prévues pour les prochaines versions.
Pour optimiser les performances de l'API, Esri a réduit la taille du
chargement initial en chargeant d'abord la carte, puis les fenêtres
contextuelles (Popup) uniquement à la demande.
Pourquoi cibler la fenêtre contextuelle pour optimiser le chargement
initial ?
La fenêtre contextuelle est très puissante et, en tant que telle, elle dépend
de nombreux modules. Ces dépendances si sont importantes qu'elles représentaient
près de 50 % de la taille du chargement initial du
MapView
(ou du
SceneView
en 3D). En retardant le chargement de la Popup, il est possible de
charger la carte plus rapidement et de fournir les fonctionnalités de la Popup
si et quand cela est nécessaire.
Il se peut que vous deviez mettre à jour votre code :
Dans la plupart des cas, aucune modification n'est nécessaire pour profiter de
cette amélioration. Cependant, si vous faites référence à view.popup
avant qu'il n'ait été chargé, vous pourriez rencontrer quelques problèmes,
d'où la nécessité de mettre à jour votre code. Pour plus d'informations, vous
pouvez consulter la rubrique "Breaking changes" des notes de version
L'application Symbol Builder
fraîchement mise à jour va grandement vous faciliter la personnalisation de la
symbologie de vous couches, via une expérience WYSIWYG
(what-you-see-is-what-you-get) modernisée pour
configurer les symboles 2D et 3D manuellement et obtenir
automatiquement le code correspondant qui peut être copié et collé
dans votre application.
Les nouvelles fonctionnalités d'édition de couches de scènes (disponibles en
bêta) vous permettent de télécharger et de partager du contenu en 3D sur le
web. Avec cette mise à jour, vous pouvez mettre à jour les géométries de vos
couches de scène en téléchargeant et en plaçant dans la scène des modèles 3D
de différents formats via les workflows disponibles dans le widget
Editor. Par exemple, des bâtiments d'une couche de scène d'objet 3D peuvent être
ajoutés, mis à jour ou supprimés directement sur le web.
Vous pouvez également créer des workflows personnalisés avec l'outil
Sketch
et son modèle
SketchViewModel, allant d'un simple téléchargement à la transformation des géométries
Mesh
avant d'appliquer des modifications.
SceneLayer.applyEdits
était déjà pris en charge pour mettre à jour les attributs dans les versions
précédentes. Cette version ajoute désormais
la prise en charge de la mise à jour de la géométrie par le téléchargement
de modèles 3D.
Avec cette mise à jour, Esri introduit le concept de fonds de carte 3D qui
vous donne la possibilité d'ajouter facilement un contexte et un style 3D à
vos scènes, et donne aux utilisateurs finaux une option de fond de carte 3D en
plus des fonds de carte 2D dans le widget
BasemapGallery
lorsqu'il est utilisé avec des applications 3D.
Le nouveau fond de carte topographique 3D (disponible en version
bêta
avec la version de juin d'ArcGIS Online) contient des bâtiments, des arbres et des étiquettes disponibles à
l'échelle mondiale. Vous pouvez également charger
l'élément du portail de la carte de base 3D Topographic
de manière programmatique en faisant référence l'identifiant de l'élément.
Vous pouvez dès à présent explorer ce nouveau fond de carte dans l'extrait de code "basemap gallery sample" fraîchement mis à jour, ou bien dans la visionneuse de scène. N'hésitez pas à aller voir comment s'en servir avec ce tutoriel.
Vous pouvez dès à présent explorer ce nouveau fond de carte dans l'extrait de code "basemap gallery sample" fraîchement mis à jour, ou bien dans la visionneuse de scène. N'hésitez pas à aller voir comment s'en servir avec ce tutoriel.
L'étiquetage en 3D a amélioré ses règles de priorité pour la taille des
polices, l'intégration des polices personnalisées, les transitions et la
visualisation générale. Les étiquettes avec des polices plus grandes sont prioritaires par rapport
aux plus petites, tandis que les règles de priorité existantes basées sur la
visibilité de l'étiquette et la distance à l'écran s'appliquent toujours.
Enfin, la
SceneView
prend désormais en charge les
polices personnalisées
chargées à partir de ressources statiques sans CSS personnalisé.
Vous pouvez jeter un œil à
cet extrait
de code pour voir cette amélioration.
Dans la continuité des améliorations de rendu introduites en versions 4.25 et
4.26, la 4.27 amène elle aussi des nouveautés de ce côté, en
améliorant l'atmosphère par défaut et en rendant les scènes avec des ombres
plus rapidement tout en utilisant moins de mémoire. Les effets de rendu sont ajustés automatiquement en fonction de l'activité
en cours. Lors de l'exploration d'une scène, le rendu est effectué avec une
qualité similaire à celle des anciennes versions pour garantir une interaction
fluide. Lorsque la caméra est immobile, des images de meilleure qualité sont
ajoutées pour offrir la meilleure qualité possible.
Vous pouvez observer ci-dessous l'amélioration du rendu de l'eau lorsque le paramètre
SceneView.qualityProfile
est réglé sur la valeur par défaut.
Les âmes artistiques parmi nous apprécieront peut-être cette nouvelle addition
à la classe
WebStyleSymbols. Les nouveaux symboles pour les arbres sont inspirés par le style "Low
Poly"; n'hésitez pas à aller les voir dans la
galerie des styles de symboles web 3D. Je vous explique comment vous servir de ces styles de symboles web dans ce tutoriel.
Widget Features
Le nouveau widget
Features
(en
bêta) a un aspect et un comportement similaires à ceux du
Popup, mais
contrairement au Popup,
le widget Features peut être placé en dehors de la
vue
dans n'importe quelle partie de votre application. Il permet aux utilisateurs d'interagir avec le contenu formaté par le
modèle de fenêtre contextuelle d'un élément, tels que les attributs et les
éléments multimédias, ainsi qu'avec l'interface utilisateur pour les
actions, les
enregistrements associés
et les boutons permettant de parcourir plusieurs éléments sélectionnés.
Qu'en est-il du widget Feature ? Vous avez peut-être déjà utilisé le widget Feature qui est disponible dans le SDK depuis la version 4.7. Ce widget est similaire au widget Features, sauf qu'il n'affiche que le contenu formaté d'un seul élément et n'inclut pas le reste de l'interface utilisateur décrite ci-dessus (actions, enregistrements connexes, etc.).
Vous pouvez aller voir l'extrait de code "Feature widget" pour observer cette nouvelle fonctionnalité en action.
Qu'en est-il du widget Feature ? Vous avez peut-être déjà utilisé le widget Feature qui est disponible dans le SDK depuis la version 4.7. Ce widget est similaire au widget Features, sauf qu'il n'affiche que le contenu formaté d'un seul élément et n'inclut pas le reste de l'interface utilisateur décrite ci-dessus (actions, enregistrements connexes, etc.).
Vous pouvez aller voir l'extrait de code "Feature widget" pour observer cette nouvelle fonctionnalité en action.
Widget Value Picker
Le
ValuePicker est un widget fin et flexible qui permet aux utilisateurs de parcourir une
liste de valeurs.
De la même manière qu'avec un lecteur multimédia, les valeurs peuvent être
parcourues de manière interactive à l'aide de boutons "suivant" et
"précédent" ou configurées pour parcourir automatiquement une liste ordonnée
d'éléments à un intervalle prédéfini. Vous pouvez éventuellement inclure les
composants d'interface utilisateur suivants pour présenter vos données :
- Une boîte avec une liste déroulante de valeurs :
- Une simple étiquette qui affiche la valeur actuelle :
- Un curseur qui affiche une gamme de valeurs :
N'hésitez pas à aller tester cela dans
l'extrait de code "ValuePicker widget".
Esri a ajouté la prise en charge des
icônes Calcite
dans le widget Expand. Cela vous donne accès à plus de 800 icônes qui peuvent
être utilisées dans le widget Expand, simplement en référençant le nom de
l'icône.
Cette nouvelle version améliore la pagination du widget
Popup
avec une nouvelle icône pour le bouton du menu des fonctionnalités et des
boutons actualisés pour le parcours des éléments. La pagination du
contenu média
a été mise à jour avec plus d'espace horizontal pour les graphiques et les
images. Les graphiques de la fenêtre contextuelle ont désormais de nouvelles
couleurs par défaut, avec des couleurs d'info-bulles assorties, une expérience
d'interaction améliorée, et bien plus encore.
En mai,
l'offre ArcGIS Platform s'est étoffée avec l'ajout au catalogue du nouveau
service Places (en bêta). Ce nouveau service, désormais supporté par l'API JavaScript, permet de
trouver des points d'intérêts situés à une certaine distance géographique
d'un point, et de trouver des informations enrichies sur des endroits
spécifiques
(nom, catégorie, adresse, informations de contact, etc.). Les points d'intérêt
sont définis comme des entreprises et des lieux géographiques que l'on
peut découvrir dans le monde entier. Le
service Places
permet de créer des applications puissantes pour aider les gens à découvrir,
localiser et en savoir plus sur les lieux qui les entourent.
Pour en savoir plus, vous pouvez consulter
l'extrait de code "Find nearby places and details".
Avec la mise à jour de juin 2023 d'ArcGIS Online, il sera possible de styliser les couches de flux (StreamLayers) dans
l'interface de la visionneuse de cartes, puis de les enregistrer dans une
webmap pour l'intégrer facilement dans une application. Comme pour les autres
types de couches, vous pouvez appliquer un style basé sur les données,
utiliser des mélanges et des effets, créer des filtres spatiaux ou
d'attributs, etc. pour obtenir un rendu de votre couche de flux exactement
comme vous le souhaitez.
Avec la version 4.27 de l'API, vous pouvez également effectuer toutes ces
opérations dans votre code JavaScript, y compris l'enregistrement d'une couche
de flux dans une carte Web.
En savoir plus
Nous avons parcouru ensemble les nouveautés saillantes de cette version, mais
cette mise à jour vous réserve d'autres bonnes nouvelles comme une
amélioration des widgets de
barre d'échelle
et de
tracking, le support de
nouvelles fonction raster côté client, et des mises à jour côté
réseaux de distribution. Pour en apprendre plus, n'hésitez pas à consulter les
notes de version
et à explorer les
nouveaux extraits de code
disponibles pour prendre en main ces nouveautés.
Vous pourrez voir ces nouveautés expliquées et illustrées par des démos
réalisées directement par l'équipe d'ingénieurs derrière l'API JavaScript
d'ArcGIS en rejoignant
le live qui aura lieu le 27 juin à 18h (CET)
sur la
chaîne YouTube d'Esri dédiée aux développeurs géospatiaux.
Bonjour, la gestion des relations est elle prévue "one to many" et "many to many"? Peut-on modifier une entité en y ajoutant une donnée associée déjà existantes en base ? Merci.
RépondreSupprimerBonjour ; les cardinalités prises en charge sont one to one et one to many. Pour la deuxième partie de votre question, il faut qu'il existe déjà une classe de relation entre la table et les entités publiées sur ArcGIS Online et que les deux soient éditables et ajoutés à la carte (le support pour ArcGIS Enterprise arrivera dans une version future).
SupprimerCe commentaire a été supprimé par un administrateur du blog.
RépondreSupprimer