Utilisation d'un service de carte obtenu dans des applications Web

Un service de géotraitement crée un service de carte obtenu pour fournir une représentation visuelle des résultats de la tâche de géotraitement asynchrone. Vous pouvez activer l'option de service de carte obtenu une fois que vous avez défini la symbologie pour mieux comprendre les données en sortie ou si vous avez des résultats de jeux de données volumineux, impossibles à télécharger.

En savoir plus sur les services de carte obtenusPour en savoir plus sur l'activation d'un service de carte obtenu

Vous pouvez ajouter un service de carte obtenu à des applications Web, de la même façon que vous ajoutez des services de carte dynamiques. Si la sortie est une référence à un jeu de données géographiques, le service de carte obtenu contient une couche. Lorsque vous ajoutez un service de carte obtenu à des applications Web, toutes les couches en sortie du service de carte obtenu sont ajoutées à l'application Web. Cependant, si vous souhaitez exclure certains résultats, vous pouvez désactiver la visibilité des couches le cas échéant. Si des couches d'entités sont présentes dans un service de carte obtenu, vous pouvez les ajouter indépendamment en tant que couches d'entités côté client dans des applications Web. La couche d'entités côté client interroge de manière dynamique les entités et les affiche sous la forme de graphiques sur le client. Si vos jeux de données en sortie sont volumineux, vous pouvez définir la propriété de la couche d'entités côté client de sorte qu'elle télécharge de manière dynamique les entités pour l'étendue courante de l'application Web.

Utilisation d'un service de carte obtenu en tant que service de carte dynamique.

Un service de carte obtenu est accessible grâce à l'URL http://<services REST arcgis rest>/<NomServiceGéotraitement>/MapServer/jobs/<IdTâche>. jobId est l'identifiant unique attribué au serveur pour la tâche asynchrone. Vous pouvez obtenir l'identifiant jobId de l'instance JobInfo renvoyée par le gestionnaire d'événements jobComplete. Le code JavaScript suivant montre les opérations suivantes :

  1. Connexion d'un gestionnaire d'événements à un événement jobComplete d'une tâche d'événement asynchrone
  2. Définition de l'URL d'un service de carte obtenu de jobId dans le gestionnaire d'événements jobComplete
  3. Ajout d'un service de carte obtenu en tant que service de carte dynamique à l'application Web

Utilisation d'un service de carte obtenu dans l'API Javascript

//connect eventhandlers and submitJob.
function myGPSubmitJob(){ 
    // Connect event handler onJobComplete 
    dojo.connect(gpTask, "onJobComplete",onTaskComplete);
    dojo.connect(gpTask, "onError",onTaskFailure);
    dojo.connect(gpTask, "onStatusUpdate",onTaskStatus);
    //params is assumed as a name-value pair instance of gpparameter values.
    gpTask.submitJob(params);
}

// On Job Complete Callback add a dynamic map service using ResultMapService
function onTaskComplete(jobInfo){
    //replace mapservice url with your url and append jobid
    var mapurl = "http://..../<MyGPServiceName>/MapServer/jobs/" + jobinfo.jobId;
    //create a dynamic map service
    var gpResultLayer = new esri.layers.ArcGISDynamicMapServiceLayer(mapurl, {
                id: "gpLayer",
                opacity: 0.5
            });
    //add to web application.
     map.addLayer(gpResultLayer);
}

Les trois étapes d'ajout d'un service de carte obtenu à des applications Web concernent aussi les API Flex et Silverlight. Vous trouverez des segments de code d'API Flex et Silverlight dans leurs SDK en ligne respectifs.

Pour en savoir plus sur la définition de paramètres de tâches et d'autres gestionnaires d'événements, reportez-vous à la rubrique Utilisation de tâches de géotraitement dans des applications Web.

Utilisation de la couche de services de carte obtenus en tant que couches d'entités côté client

Un paramètre en sortie de tâche de géotraitement de type de données GPFeatureRecordSetLayer est affiché en tant que featurelayer dans le service de carte obtenu. Vous pouvez ajouter ces couches en tant que couches d'entités côté client. Lorsque les couches sont ajoutées en tant que couches d'entités côté client, les entités sont téléchargées sur le client. Grâce aux méthodes FeatureLayer, vous pouvez créer des fenêtres contextuelles et d'information ou des diagrammes et graphiques dynamiques d'après les valeurs attributaires. Vous pouvez également accéder à des fenêtres contextuelles et des pièces jointes HTML, si ces éléments sont disponibles pour ces couches. Le code JavaScript ci-après illustre l'ajout d'une couche d'entités à une application Web.

Ajout de couches d'entités aux applications Web

// On Job Complete Callback add a featurelayer using ResultMapService
function onTaskComplete(jobInfo){
    //replace mapservice url with your url and append jobid
    var mapurl = "http://..../<MyGPServiceName>/MapServer/jobs/" + jobinfo.jobId;
    //the code snippet assumes the featureLayer is the first layer in the result map service
    var fLayerUrl = mapurl + “/0”;
    
    //create a feature layer 
    //the MODE_ONDEMAND property allows the client to restrictively download features for current web app extent
    var featurelayer=new esri.layers.FeatureLayer(fLayerUrl, {
                id: "gpfLayer",
                mode: esri.layers.FeatureLayer.MODE_ONDEMAND,
                outFields: ["*"]
            });
    map.addLayer(featurelayer);	

    
}

A nouveau la logique des segments de code concerne aussi les API Flex et Silverlight. Pour en savoir plus sur la création de fenêtres contextuelles et d'information, de graphiques et de diagrammes, reportez-vous aux SDK JavaScript, Flex et Silverlight.

Thèmes connexes

5/10/2014