Crear plantillas de aplicación Web

Para crear tu propia plantilla, puedes descargar y modificar una de las plantillas existentes, actualizar una aplicación Web existente para que funcione con contenido de ArcGIS Online o construir una aplicación Web nueva mediante 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 creas una plantilla de grupo puedes trabajar con grupos y puedes 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 origen cruzado (CORS). También podrás añadir tu elemento a ArcGIS Online y, si tu organización tiene previsto usar tu plantilla en su galería de plantillas, compartirla con la plantilla de mapas de la organización o con grupos de plantillas de grupo.

SugerenciaSugerencia:

Este tema abarca cómo se crea una plantilla de aplicación Web. Después de crear la aplicación, puedes hacer que sea 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é mapa Web o grupo se debe visualizar, incluyendo el parámetro webmap o group en la URL de la plantilla. Las plantillas visualizan contenido de un mapa Web o de un grupo especificando un ID como parámetros de la URL. 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 añádela 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, consulta Hacer que una plantilla sea configurable.

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 ArcGIS.com. Para obtener más información sobre cómo elaborar aplicaciones de representación cartográfica en la red, consulta Crear aplicaciones con mapas Web.

Normalmente, las plantillas crean un mapa basado en el mapa Web especificado en el parámetro webmap 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.

Más información acerca de la clase Map

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 cómo utilizar la API de ArcGIS para Javascript para que funcione con mapas Web

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 de Portal for ArcGIS proporciona acceso al contenido de ArcGIS Online. Puedes utilizarla para recuperar contenido de un grupo a partir del ID de grupo introducido. Para obtener más información acerca de cómo se trabaja con la API de Portal for ArcGIS, consulta Acerca de la API de Portal for ArcGIS

En este ejemplo, se realiza una consulta en ArcGIS Online para encontrar un grupo con el ID introducido.

var portal = new esri.arcgis.Portal('http://www.arcgis.com');
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 opción del método createMap.

Más información acerca del uso de la clave de Bing Maps

Identity Manager

El Identity Manager 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 Identity Manager en la aplicación de plantilla, la plantilla funciona con mapas Web públicos y privados.

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

dojo.require("esri.IdentityManager");

Más información acerca de Identity Manager

NotaNota:

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

Soporte para proxy y CORS

Puesto que de su aplicación realizará solicitudes entre dominios distintos a ArcGIS Online, deberás habilitar el uso compartido de recursos de origen distinto (CORS) o añadir un proxy a la aplicación.

Más información sobre cómo se utiliza la página de proxy

Añadir la plantilla a ArcGIS Online

Después de crear la plantilla y alojarla en tu servidor Web, añádela a ArcGIS Online como elemento de aplicación de representación cartográfica en la red configurable. Como tipo de elemento, selecciona Representación cartográfica en la red. Como objeto, selecciona Configurable. Para obtener más información sobre cómo se añaden elementos a ArcGIS Online, consulta Añadir aplicaciones. También puedes añadir el elemento mediante la API de Portal for ArcGIS.

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 mapa o configurar grupos para usar el grupo que incluya la plantilla.

4/12/2013