Crear plantillas de aplicación Web

Para crear su propia plantilla de aplicación web, puede descargar y modificar una de las plantillas existentes, actualizar una aplicación web existente para que funcione con contenido de su portal o crear una aplicación web nueva con una de las API web de ArcGIS. Independientemente de cómo crees tu propia plantilla, deberás trabajar con parámetros de URL y mapas Web. Si crea una plantilla de grupo, puede trabajar con grupos y puede considerar posibles requisitos adicionales para trabajar con mapas base de Bing, acceder a mapas no públicos y trabajar con recursos que requieran un proxy o el uso compartido de recursos de distinto origen (CORS). También puede añadir el elemento a su portal y, si su organización tiene previsto usar la plantilla en su galería de plantillas, compartirla con uno de los grupos de plantillas de la organización.

Portal for ArcGIS incluye la versión 3.7 de ArcGIS API for JavaScript. No necesitas alojar tu propia API y apuntar al portal en la versión local; las plantillas de la aplicación web hacen referencia de forma automática a la API instalada. Normalmente, la API instalada de forma local está disponible en https://webadaptor.domain.com/arcgis/jsapi/jsapi.

PrecauciónPrecaución:

No modifiques los archivos de plantilla de aplicación Web que se proporcionan con Portal for ArcGIS, ya que estos archivos están administrados por el portal y cualquier modificación que hagas puede ser sobrescrita posteriormente por el portal. Si deseas personalizar las plantillas, haz lo siguiente:

  1. Haz una copia del archivo de plantilla existente que deseas personalizar.
  2. Pon la copia en una ubicación o un disco diferente.
  3. Personaliza la copia de la plantilla.
  4. Agrégala al portal como una plantilla nueva.

Este tema abarca cómo se crea una plantilla de aplicación Web. Después de crear la plantilla, puede hacerla configurable. Las plantillas configurables permiten a los usuarios personalizar la apariencia y el comportamiento de la aplicación. Para obtener más información sobre cómo se crean plantillas configurables, consulta Añadir parámetros configurables a plantillas.

Parámetros de la dirección URL

Al utilizar una plantilla, se especifica qué grupo o mapa web se debe visualizar, incluyendo el Id. webmap o group como parámetro en la URL de la plantilla. Los ID de los mapas Web se especifican utilizando el parámetro webmap y el contenido del grupo se especifica utilizando el parámetro group. A fin de que la plantilla personalizada funcione con el mapa o el grupo actual, necesitas incluir código en la aplicación para extraer el ID del mapa Web o del grupo actuales a partir de la URL. Para obtener más información sobre los parámetros del mapa Web, consulta Usar los parámetros de la URL.

Por ejemplo, podrías mostrar el mapa base de Europa en la plantilla de visor básico.

Para hacer esto, empieza por la URL del visor básico:

http://www.arcgis.com/apps/OnePane/basicviewer/index.html

Copia la parte webmap= de la URL del mapa base de Europa:

http://www.arcgis.com/home/webmap/viewer.html?webmap=5421a40574914458892efe74f0149025

y agrégala al final de la URL del visor básico:

http://www.arcgis.com/apps/OnePane/basicviewer/index.html?webmap=5421a40574914458892efe74f0149025

La API de JavaScript tiene un método de ayuda esri.urlToObject que simplifica este proceso. Este método convierte los parámetros de la URL en un objeto.

var webmap;
var urlObject = esri.urlToObject(document.location.href);

Una vez que los parámetros de la URL se convierten en un objeto, puedes acceder a las distintas entradas. Por ejemplo, podrías asignar el valor del parámetro webmap de la URL a una variable llamada webmap_id.

var webmap_id = urlObject.query.webmap;
NotaNota:

Si la aplicación es configurable, también deberás gestionar un parámetro de la URL llamado appid que define los ajustes de configuración. Para obtener más información sobre la configuración de la plantilla para leer el archivo de configuración, consulta Añadir parámetros configurables a plantillas.

Mapas Web

Las plantillas de mapas web están diseñadas para trabajar con el mapa web visualizado en cada momento en el visor de mapas de. Normalmente, las plantillas crean un mapa basado en el mapa web especificado en el parámetro de mapas web de la URL. Cada una de las API Web dispone de un método de ayuda que crea un mapa utilizando información del ID del mapa Web.

Por ejemplo, puedes usar el método esri.arcgis.utils.createMap de la API de ArcGIS para JavaScript para crear un mapa basado en el ID introducido. También puedes incluir una función de devolución de llamada que se ejecute cuando la solicitud sincrónica a esri.arcgis.utils.createMap se haya completado.

esri.arcgis.utils.createMap(webmap,"map",{
   mapOptions:{
     slider:false
   },
   bingMapsKey:bingMapsKey
}).then(function(response){
    map = response.map;
});
NotaNota:

Si alguno de tus mapas Web incluye un mapa base de Bing, deberás especificar una clave de Bing Maps al utilizar el método createMap. Hay varias opciones de mapas más que se pueden especificar, tal como si se debe mostrar el deslizador, la navegación y la atribución, entre otras.

La función de callback proporciona acceso a un objeto de respuesta que, a su vez, permite acceder al objeto mapa y sus capas, entre otros elementos.

Más información acerca de la clase Map

Grupo

Las plantillas del grupo muestran contenido del grupo especificado como aplicación. Para obtener más información acerca de cómo crear aplicaciones de galería, consulta Crear aplicaciones con grupos.

La API REST de ArcGIS proporciona acceso al contenido de su portal. Puedes utilizarla para recuperar contenido de un grupo a partir del ID de grupo introducido.

En este ejemplo, se realiza una consulta para buscar un grupo con el Id. de entrada.

var portal = new esri.arcgis.Portal('https://webadaptor.domain.com/arcgis/');
dojo.connect(portal, 'onLoad',function(){
    portal.queryGroup(groupid).then(function(response){
        var group = response.results[0];
     });
});

Una vez encontrado el grupo, puedes realizar consultas para recuperar elementos del grupo.

En este ejemplo, se realiza una consulta al grupo para encontrar cinco elementos de tipo mapa Web o aplicación de representación cartográfica en la red.

var queryParams = {
    q: 'type:"Web Map" -type:"Web Mapping Application"',
    num: 5
 };
group.queryItems(queryParams).then(function(response){
    var groupItems = response.results;
});

Consideraciones adicionales

Por lo general, las plantillas están diseñadas para trabajar con muchos tipos distintos de contenido, así que es posible que debas configurar la plantilla para manejar mapas con mapas de base del Bing Maps, contenido que no sea público, etc. A continuación se indican las consideraciones específicas.

Clave de Bing Maps

Si cualquiera de los mapas Web que deseas mostrar utiliza un mapa base de Bing Maps, deberás incluir una clave de Bing Maps en la aplicación. La clave de Bing Maps se proporciona como parámetro para el método createMap.

Administrador de identidades

El Administrador de identidades simplifica del proceso de trabajar con recursos protegidos. Maneja el proceso de solicitar al usuario sus credenciales, generando un token y añadiéndolo al recurso. Al incluir la clase Administrador de identidades en la aplicación de plantilla, la plantilla funciona con mapas web públicos y privados.

Para activar el Administrador de identidades, incluye la línea de código siguiente en tu aplicación:

dojo.require("esri.IdentityManager");

Más información acerca de Administrador de identidades

NotaNota:

También deberás configurar SSL en el servidor Web donde alojes tu aplicación.

Soporte para proxy y CORS

Si su aplicación va a realizar solicitudes entre distintos dominios, tendrá que habilitar el uso compartido de recursos de distinto origen (CORS) o añadir un proxy a la aplicación.

Añadir la plantilla a su portal

Una vez que haya creado la plantilla y la haya alojado en su servidor web, agregue la plantilla a su portal como elemento de aplicación de representación cartográfica en la red y especifique la URL de la aplicación. Para este fin, elija Configurable. Para la API, elija JavaScript. Para obtener más información sobre la adición de aplicaciones en su portal, consulte Agregar aplicaciones.

No olvides incluir un título descriptivo y un resumen, ya que esta información se muestra cuando los usuarios pasan el puntero del ratón por encima de la plantilla en la galería de plantillas. Opcionalmente, puedes crear un archivo ZIP que contenga tus archivos de aplicación y adjuntarlo al elemento para proporcionar una capacidad adicional de descarga

Usar la plantilla en la galería de tu organización

Si quieres utilizar la plantilla configurable en la galería de plantillas de representación cartográfica en la red de tu organización o en una galería de plantillas de grupos, comparte el elemento con el grupo que vayas a usar para las plantillas. A continuación, el administrador de tu organización puede configurar el visor de mapas o configurar grupos para usar el grupo que incluya tu plantilla.

5/9/2014