Skip to content

Objets publics et cycle de vie

Séquence standard

Le cycle de vie recommandé côté intégration est:

  1. créer ou récupérer geoviewer-*-element
  2. attendre ready ou utiliser onViewerServiceReady(...)
  3. attendre viewerService.onReady(...)
  4. manipuler mapManager, tools, services, widgetManager ou topic

Exemple minimal:

<geoviewer-esri-element id="viewer"></geoviewer-esri-element>
<script type="module">
const el = document.getElementById('viewer');
el.onViewerServiceReady((viewerService) => {
viewerService.onReady(() => {
console.log('Viewer prêt pour interaction applicative');
console.log(viewerService.mapManager);
});
});
</script>

Objets publics à connaître

ObjetÀ quoi ça sertQuand l’utiliserCe qu’on n’y cherche pas
ViewerServicepoint d’entrée globaldès que le viewer est prêtlogique métier carto fine
MapManagercouches runtime, popup, extent, basemapssi votre besoin touche la carteactivation de widgets
ToolImplementations via mapManager.toolsactions carto concrètessi vous devez dessiner, zoomer, écouter, convertirétat global de l’application
ServiceImplementations via mapManager.servicesservices applicatifs liés à la cartesi vous consommez géocode, parcelles, recherche métier ou autre service exposécréation directe de features
EventsToolclics et observation d’événements cartepour écouter des interactions spatialesévénements métier topic
ApiFeatureFactorycréer des features runtimesi vous ajoutez vous-même points, lignes ou polygonesimport de fichiers complexes
ApiFeatureConverterconvertir vers et depuis GeoJSON, KML, SHP…si vous sortez ou réinjectez des géométriesgestion de widgets
WidgetReference via viewerService.widgetManagerretrouver ou piloter un widget existantsi vous pilotez un widget déjà configurégestion de la carte
TopicManagerpublier des événements métiersi vous orientez un workflow applicatifclics bruts sur la carte

Comment raisonner rapidement

1. Si votre besoin touche la carte ou des features runtime

Commencez par viewerService.mapManager.

Exemples:

  • ajouter une couche GRAPHICS
  • ouvrir une popup
  • zoomer sur une feature
  • récupérer l’emprise ou le centre

2. Si votre besoin est une action carto concrète

Allez vers viewerService.mapManager.tools.

Les plus utiles côté intégration:

  • events
  • draw
  • zoom
  • featureFactory
  • featureConverter
  • report

3. Si votre besoin touche un service applicatif exposé

Allez vers viewerService.mapManager.services.

Exemples:

  • déclencher une recherche ou un géocodage
  • consommer un service métier déjà exposé par le viewer
  • réutiliser la logique carto existante sans recréer une couche d’accès parallèle

4. Si votre besoin touche un widget existant

Allez vers viewerService.widgetManager.

Exemples:

  • récupérer une référence avec getReference(...)
  • cibler une classe de widget avec getReferencesByWidgetClass(...)
  • activer ou désactiver un widget déjà présent

5. Si votre besoin est métier ou analytique

Commencez par les événements DOM topic, puis regardez viewerService.topicManager si vous devez publier.

Exemples:

  • brancher analytics
  • déclencher une action applicative
  • réagir à une activation de widget

Variante avancée: instantiateViewer

Si vous avez besoin de piloter explicitement le cycle de vie hors Web Component, instantiateViewer(...) reste possible. À réserver aux cas où vous avez une vraie contrainte d’intégration plus fine.

Aller plus loin