Rechercher dans le blog

Les nouveautés de la version 4.27 de l'API JavaScript d'ArcGIS

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.
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.

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.

2 commentaires:

  1. 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épondreSupprimer
    Réponses
    1. Bonjour ; 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).

      Supprimer