Suite

Les données ne seront pas chargées dans la fenêtre contextuelle à l'aide du modèle Basic Viewer pour ArcGIS

Les données ne seront pas chargées dans la fenêtre contextuelle à l'aide du modèle Basic Viewer pour ArcGIS


J'ai téléchargé le fichier zip pour Basic Map Viewer (https://github.com/Esri/Viewer) dans ArcGIS et j'essaie de configurer les couches pour qu'elles aient des fenêtres contextuelles. J'ai passé en revue une partie du code derrière d'autres applications et j'ai copié le code, mais j'ai remplacé les URL par mes services de repos et j'ai également inséré mes champs. Cependant, lorsque je lance l'application, la popup reste vide. Il s'affiche, mais les données de notre serveur ne se chargent pas dans la fenêtre contextuelle.

Voici ce que j'ai pour le code d'une couche :

{ "url": "http://giswebvm1:81/arcgis/rest/services/INTER_DP/ev_health/MapServer/0", "visibility": false, "title": "Etablissements alimentaires", "popupInfo": { " title": "{Name}", "fieldInfos": [ { "fieldname": "Est_No", "label": "Establishment Number", "tooltip": "", "visible": true, "stringFieldOption": " textbox" }, { "fieldname": "Name", "label": "Establishment Name", "tooltip": "", "visible": true, "stringFieldOption": "textbox" }, ], "description": null, "showAttachments": true, "mediaInfos": [] } },

Est-ce que quelqu'un sait pourquoi le popup ne se charge pas ?


"fieldname" est sensible à la casse. Le nom de clé correct est "fieldName". (N majuscule)

Voir cet exemple pour fieldInfos.

http://www.arcgis.com/sharing/content/items/db7b51510a84452ea2113eceb9a1bfd0/data?f=pjson


Je ne vois aucun problème dans le violon que vous avez partagé. Je reçois 2 options personnalisées. Je ne peux peut-être pas voir l'image car l'image est manquante. Mais je reçois 2 info-bulles. Selon la documentation, lorsque les actions sont <3, alors l'image et le texte sont affichés, lorsque son >=3, seule l'image est affichée et le titre est affiché sous forme d'info-bulle.

Le titre de l'action. Lorsqu'il y a moins de trois actions définies dans une popup, ce texte est affiché à droite de l'icône ou de l'image représentant l'action. S'il y a trois actions ou plus dans la fenêtre contextuelle, ce texte est utilisé comme info-bulle sur l'action.


Avant de commencer ce tutoriel

Si vous souhaitez publier un service d'entités à partir d'une base de données, il est supposé que vous disposez d'une base de données pouvant stocker des données spatiales. Si vous ne le faites pas, vous devez installer un logiciel de gestion de base de données et créer une base de données. Dans certains cas, vous devez également installer un type spatial ou activer la base de données pour stocker des données spatiales. Vous pouvez publier des services d'entités à partir de l'un des systèmes de gestion de base de données suivants :

Vous avez besoin de deux utilisateurs de base de données pour suivre ce didacticiel : un utilisateur qui dispose de privilèges pour créer des tables et des classes d'entités dans la base de données (un propriétaire de données) et un autre qui ne dispose initialement que de privilèges de connexion à la base de données (un éditeur de données). Vous accorderez à l'éditeur de données des privilèges pour modifier les données à publier en tant que service d'entités.

Si vous êtes l'administrateur de la base de données, vous pouvez utiliser les outils du système de gestion de base de données pour créer les deux utilisateurs et accorder les privilèges requis. Vous pouvez également utiliser l'outil de géotraitement Créer un utilisateur de base de données pour créer l'utilisateur propriétaire des données, mais vous devrez toujours utiliser les outils du système de gestion de base de données pour créer l'utilisateur de l'éditeur de données. Si vous n'êtes pas l'administrateur de la base de données, demandez à votre administrateur de base de données de créer un propriétaire de données et un éditeur de données que vous pourrez utiliser pour terminer ce didacticiel.

Si vous venez d'installer ArcGIS Server , lisez ce qui suit avant de commencer ce didacticiel :

  • Pour plus d'informations sur la configuration de votre site ArcGIS Server, consultez la section Déployer de l'aide d'ArcGIS Server.
  • Si vous n'avez pas d'expérience préalable avec les services d'entités, consultez Services d'entités
  • Pour publier un service d'entités sur ArcGIS Server , vous devez enregistrer les données auprès d'un site ArcGIS GIS Server. La manière dont vous enregistrez les données varie selon que vous souhaitez que votre service d'entités accède aux données de votre base de données source ou que vous souhaitez que le service d'entités accède à une copie des données. Pour les besoins de ce didacticiel, le service d'entités accédera aux données de votre base de données. Cependant, vous devez comprendre ce que cela signifie et quelles autres options sont disponibles. Consultez Rendre vos données accessibles à ArcGIS Server pour vous aider à déterminer la méthode la mieux adaptée à votre situation.

Bien que ce sera pop-up et modal.

Un petit inconvénient de acDialog et .PopUp est que le formulaire s'ouvre comme une fenêtre en dehors de la fenêtre principale d'accès. C'est pourquoi je préfère utiliser uniquement .Modal si possible.

Si vous souhaitez simplement bloquer d'autres formulaires ouverts, vous pouvez faire un Me.Modal = True même temporairement dans l'événement open de votre formulaire.

L'inconvénient de .Modal est qu'il n'attendra pas. DoCmd.OpenForm , , , , , acDialog ne revient pas tant que le formulaire n'est pas fermé. Un tel appel synchrone peut parfois être très utile.

Pour faire un appel de type acDialog/PopUp qui reste à l'intérieur la fenêtre principale d'accès, vous pouvez utiliser une petite astuce à l'intérieur de votre formulaire :


Recherche d'informations

La recherche d'informations est un modèle d'application configurable ArcGIS Online utilisé pour fournir des informations sur un emplacement ou une entité. L'emplacement ou l'entité est utilisé pour rechercher des entités dans une ou plusieurs couches et toutes les informations sont renvoyées dans une seule fenêtre contextuelle. Si aucune entité d'intersection n'est trouvée, un message général s'affiche.

  • Combine toutes les fenêtres contextuelles des résultats en une seule fenêtre contextuelle.
  • Le pop-up peut être présenté sur la carte ou sur un panneau latéral.
  • Ajoutez un préfixe et/ou un suffixe à la fenêtre contextuelle combinée avec des informations sur la fonction ou l'emplacement de recherche.
  • Présente une fenêtre contextuelle lorsque l'application se charge lors de la spécification d'un paramètre d'URL pour localiser une fonctionnalité.
  • Recherchez une fonctionnalité à l'aide du champ de recherche et affichez une fenêtre contextuelle pour le résultat.
  • Stockez l'emplacement de recherche dans une couche pour suivre où les utilisateurs cliquent ou recherchent dans l'application.
  • Conçu pour être intégré ou utilisé comme une application autonome.

Exigences

La recherche d'informations nécessite une expérience technique et un logiciel spécifiques.

  • ArcGIS Online, Portal for ArcGIS ou ArcGIS Enterprise
  • L'application est optimisée pour l'affichage sur les ordinateurs de bureau, les smartphones et les tablettes utilisant tous les navigateurs pris en charge par ArcGIS Online, Portal for ArcGIS et ArcGIS Enterprise.

Ce que vous obtenez

L'application de recherche d'informations peut être configurée dans ArcGIS Online sans télécharger les fichiers d'application. Cependant, si vous souhaitez héberger l'application sur votre propre serveur ou effectuer une configuration supplémentaire, les fichiers de l'application sont disponibles au téléchargement depuis GitHub.


Carte Web

Charge une carte Web à partir d'ArcGIS Online ou du portail ArcGIS Enterprise dans un MapView. Il définit le contenu, le style et les signets de votre carte Web et peut être partagé entre plusieurs applications Web et de bureau ArcGIS. La carte Web est enregistrée en tant que document JSON qui peut être utilisé par l'API ArcGIS pour JavaScript via la classe WebMap pour créer facilement des applications 2D convaincantes. Le document JSON est écrit conformément à la spécification de la carte Web. Bien que vous puissiez facilement créer vos propres cartes Web, il existe de nombreux exemples de cartes Web dans ArcGIS Online que vous pouvez utiliser pour démarrer avec l'API. Vous pouvez modifier ou ajouter du nouveau contenu à ces cartes Web.

Pour charger une carte Web à partir d'ArcGIS Online dans une MapView, vous devez référencer l'ID de la carte Web dans la propriété portalItem de cette classe.

Pour charger une carte Web à partir d'un portail sur site, définissez l'URL du portail dans esriConfig.portalurl.

Ensuite, vous devez référencer l'instance WebMap dans la propriété map de la vue.

Limitations connues

Dans les cas où la carte Web contient des types de couches qui ne sont pas encore pris en charge dans l'API, les couches seront créées en tant que UnsupportedLayer. Ce type de couche est utilisé spécifiquement dans les cas où la couche peut exister dans une carte Web donnée (par exemple, une couche WFS), mais peut ne pas être actuellement prise en charge dans la version de l'API qui y accède.

Un UnknownLayer sera utilisé si les futures versions de la WebMap contiennent un nouveau type de couche. La version de l'API peut ne pas reconnaître ce type de couche, il apparaîtrait donc comme un UnknownLayer.

Avant la version ArcGIS Online 8.1 (mars 2020), lors de la copie d'une couche d'itinéraire à partir d'un élément à stocker dans une carte Web, elle était stockée en tant que collection d'entités intégrée et non attribuée par inadvertance en tant qu'itinéraire. Lorsque ces cartes Web sont chargées par l'API JS, les routes seront représentées par un GroupLayer plutôt que par un esri/layers/RouteLayer. Cela n'affecte pas les éléments de couche d'itinéraire copiés après la version ArcGIS Online 8.1 ou les itinéraires stockés en tant qu'éléments de portail. La copie d'éléments de couche d'itinéraire à stocker dans le cadre de la carte Web n'est pas un scénario courant.

À partir de la version 4.17, les cartes Web ne renvoient plus de géométries dans les fonctionnalités de leur popup. Si une fenêtre contextuelle n'a pas d'expression Arcade référencée qui fonctionne avec la géométrie, il est désormais nécessaire de définir les outFields de la couche de carte Web ou ses PopupTemplate outFields.


3 réponses 3

Il s'avère donc que SharePoint Designer est le seul moyen d'y parvenir. Vous devez accéder à la page dans Designer, modifier la page et sélectionner l'onglet Insertion dans le ruban -> Formulaire de nouvel élément -> sélectionnez "FORMULAIRE DE LISTE PERSONNALISÉ. " (pas l'une des listes pré-remplies ou vous obtiendrez le type de contenu par défaut barebones !) -> Choisissez la liste du formulaire que vous souhaitez afficher et le type de contenu, cliquez sur OK -> Enregistrez la page dans SP Designer et elle s'affichera désormais sur la page intégrée en tant que formulaire. Succès!

Que se passe-t-il si vous ajoutez simplement ?IsDlg=1 à votre lien dans la visionneuse de page, cela supprimera la plupart des "UI".

SharePoint 365 change des choses que j'ai remarquées. L'utilisation exacte de l'astuce d'Anders n'a montré que la ligne du ruban (barre d'outils enregistrer/modifier). Pour obtenir la forme entière, j'ai dû utiliser toutes les minuscules en tant que telles:

. puis le reste de la forme est apparu. J'ai également dû définir une hauteur spécifique sur le composant WebPart Page Viewer, mais cela peut être dû à mon modèle de page.


Préparer les données

Ce didacticiel contient des instructions pour copier des classes d'entités dans votre base de données via ArcGIS. Les données copiées via ArcGIS répondent aux critères suivants, qui sont requis pour publier des données en tant que service d'entités :

    Les classes d'entités que vous publiez sur un service d'entités à modifier doivent contenir un champ entier non nul qui est automatiquement renseigné avec des valeurs uniques par la base de données. Ce champ sera utilisé comme un champ ObjectID.

Si vos données sont ajoutées à la base de données à l'aide d'ArcGIS, un champ ObjectID éligible est automatiquement ajouté à la table. Si vous avez des classes d'entités existantes stockées dans Db2 , SQL Server , Oracle ou PostgreSQL que vous souhaitez publier, vous pouvez utiliser l'outil Ajouter un champ d'ID d'incrémentation pour ajouter un champ d'entier non nul rempli par la base de données à votre table.

Pour créer une classe d'entités dans ArcGIS qui répond à toutes ces exigences, suivez la section suivante du didacticiel.

Ajouter des classes d'entités à la base de données

Connectez-vous à la base de données en tant que propriétaire des données (utilisateur disposant des privilèges suffisants pour créer des tables dans la base de données) et copiez les classes d'entités à partir d'une géodatabase fichier installée avec ArcGIS Server .

Se connecter aux exemples de données ArcGIS Server

Une géodatabase fichier (tree_maintenance.gdb) est installée avec ArcGIS Server . Connectez-vous à partir d'ArcMap.

Si vous avez installé ArcGIS Server sur une machine Linux, copiez ou ftpez tree_maintenance.gdb dans un répertoire de votre ArcMap . L'emplacement par défaut des données sur la machine Linux ArcGIS Server est le répertoire <home de l'installation de l'utilisateur>/arcgis/server/help/samples/data .

  1. Démarrez ArcCatalog ou ArcMap et ouvrez la fenêtre Catalogue.
  2. Cliquez sur Se connecter au dossier .
  3. Choisissez le dossier d'exemple de données, situé dans le répertoire où vous avez installé ArcGIS Server ( Microsoft Windows ) ou copié à partir de votre installation ArcGIS Server ( Linux ).

Par défaut, les données Windows sont installées dans C:Program FilesArcGISServerhelpsamplesdata .

Se connecter à la base de données en tant que propriétaire des données

Connectez-vous à la base de données en tant qu'utilisateur propriétaire des données afin de pouvoir copier les données dans la base de données.

  1. Développez le nœud Connexions aux bases de données dans l'arborescence Catalogue de la fenêtre Catalogue.
  2. Double-cliquez sur Ajouter une connexion à la base de données et connectez-vous à la base de données en tant qu'utilisateur propriétaire des données.

Voir Connexions aux bases de données dans ArcMap pour plus d'informations sur la connexion à une base de données.

Par exemple, cliquez avec le bouton droit sur la nouvelle connexion, pointez sur Renommer , puis tapez [email protected] .

Copiez les données dans votre base de données

Copiez les classes d'entités arbres, villages et rues à partir de la géodatabase du fichier tree_maintenance et collez-les dans votre base de données.

  1. Ouvrez le dossier de données d'exemple.
  2. Double-cliquez sur la géodatabase tree_maintenance pour vous y connecter.

Vous devez cliquer sur les classes d'entités dans l'onglet Contenu ( ArcCatalog ) ou le volet Contenu ( ArcMap ) pour choisir plusieurs classes d'entités en même temps.

Des copies des classes d'entités rues, arbres et villages se trouvent dans votre base de données.

Accorder des privilèges sur les données

L'utilisateur qui accédera aux données que vous publiez doit disposer de privilèges suffisants pour modifier les données. Par exemple, si vous souhaitez que les utilisateurs insèrent de nouvelles entités et mettent à jour des entités existantes dans les classes d'entités que vous publiez, vous devez accorder à l'utilisateur qui se connecte des privilèges de sélection, d'insertion et de mise à jour sur les données. Si vous souhaitez uniquement que les utilisateurs mettent à jour les enregistrements existants, accordez à l'utilisateur se connectant des privilèges de sélection et de mise à jour sur les données.

Vous pouvez publier les données en tant que propriétaire des données si vous publiez sur un site de test ou si vous suivez ce didacticiel uniquement à des fins éducatives. Cependant, si vous publiez des données sur un site de production, la connexion utilisée pour accéder aux données doit avoir le moins de privilèges requis.

Si vous utilisez des utilisateurs authentifiés par la base de données, accordez des privilèges sur les données à l'utilisateur de la base de données. Si vous utilisez l'authentification Windows pour vous connecter à la base de données, vous devez accorder les privilèges au compte ArcGIS Server.

Les étapes suivantes accordent des privilèges de sélection, d'insertion et de mise à jour sur les classes d'entités à inclure dans votre service d'entités. Si vous utilisez vos propres données, suivez les mêmes étapes de base pour accorder des privilèges sur vos données.

    Cliquez avec le bouton droit sur la classe d'entités arbres sous la connexion à la base de données dans l'arborescence du catalogue, pointez sur Gérer et cliquez sur Privilèges .

La boîte de dialogue Privilèges s'ouvre.

  1. Cliquez sur Ajouter pour ouvrir la boîte de dialogue Utilisateur/Rôle.
  2. Si vous disposez de privilèges dans la base de données pour afficher la table système qui répertorie tous les utilisateurs et rôles de la base de données, vous pouvez choisir l'utilisateur ou le rôle de base de données que vous souhaitez ajouter dans la liste en cochant la case à côté sinon, tapez le nom du utilisateur de base de données, rôle de base de données, connexion au système d'exploitation ou groupe Windows auquel vous souhaitez accorder des privilèges.
  3. Cliquez sur OK pour fermer la boîte de dialogue Utilisateur/Rôle.

La case Sélectionner est déjà cochée.


SharePoint introduit un nouveau type de champ nommé Géolocalisation qui vous permet d'annoter des listes SharePoint avec des informations d'emplacement. Dans les colonnes de type Géolocalisation, vous pouvez saisir des informations de localisation sous la forme d'une paire de coordonnées de latitude et de longitude en degrés décimaux ou récupérer les coordonnées de la position actuelle de l'utilisateur à partir du navigateur s'il implémente l'API de géolocalisation du W3C. Dans la liste, SharePoint affiche l'emplacement sur une carte fournie par Bing Maps. De plus, une nouvelle vue nommée Map View affiche les éléments de liste sous forme de punaises sur un contrôle Bing Maps Ajax V7 avec les éléments de liste sous forme de cartes dans le volet gauche. La figure 1 résume l'emplacement par défaut et les fonctionnalités de carte dans SharePoint. Ensemble, le champ Géolocalisation et la vue Carte vous permettent de donner un contexte spatial à n'importe quelle information en intégrant les données de SharePoint dans une expérience cartographique, et permettent à vos utilisateurs de s'engager de nouvelles façons dans vos applications et solutions Web et mobiles.

Les personnalisations basées sur JSLink (rendu côté client) ne sont pas prises en charge dans les expériences modernes. Cela inclut les listes et bibliothèques modernes, y compris la prise en charge de JSLink dans les composants WebPart d'affichage de liste des pages modernes. Le rendu côté client est pris en charge dans les expériences classiques dans SharePoint Online ou en local.

Un package MSI nommé SQLSysClrTypes.msi doit être installé sur chaque serveur Web frontal SharePoint pour afficher la valeur du champ de géolocalisation ou les données dans une liste. Ce package installe les composants qui implémentent les nouveaux types d'ID de géométrie, de géographie et de hiérarchie dans SQL Server 2008. Par défaut, ce fichier est installé pour SharePoint Online. Cependant, ce n'est pas pour un déploiement sur site de SharePoint. Vous devez être membre du groupe Administrateurs de batterie pour effectuer cette opération. Pour télécharger SQLSysClrTypes.msi, consultez Microsoft SQL Server 2008 R2 SP1 Feature Pack pour SQL Server 2008 ou Microsoft SQL Server 2012 Feature Pack pour SQL Server 2012 dans le Centre de téléchargement Microsoft.

Figure 1.Vue récapitulative de l'emplacement par défaut et des caractéristiques de la carte