Usar parámetros de dirección URL

Las aplicaciones creadas con Web AppBuilder se pueden modificar directamente con parámetros URL. La dirección URL siempre empieza por <your portal url>/apps/webappviewer/index.html? e incluye uno o más de los parámetros que se enumeran a continuación. Para incluir más de un parámetro, use el símbolo “&” para separar los parámetros. A continuación, encontrará un ejemplo:

http://<your portal url>/apps/webappviewer/index.html?id=6815e148ff1c4aee8dc7159816380a4d&webmap=9cf053ea602345ddae060010c470e615
Sugerencia:

Ahora hay una forma más sencilla de crear parámetros de dirección URL. Agregue el widget Compartir a la aplicación y haga clic en Opciones de vinculación. Vista previa del vínculo muestra los parámetros que se han seleccionado y se genera automáticamente un vínculo de acceso directo que incluye los parámetros de las direcciones URL. Tenga en cuenta que, para utilizar el parámetro find, el widget Buscar debe estar activado en la aplicación.

Nota:

Actualmente, las aplicaciones 3D no admiten parámetros de dirección URL.

Codificar los parámetros de la consulta

Todos los parámetros de la consulta deben estar codificados. La codificación sustituye caracteres no válidos por %, seguido de su equivalente hexadecimal.

Por ejemplo, a continuación se muestra un parámetro de dirección URL no codificado:

http://<your portal url>/apps/webappviewer/index.html?find=380 new york street, redlands, ca

He aquí el mismo parámetro codificado:

http://<your portal url>/apps/webappviewer/index.html?find=380%20new%20york%20street,%20redlands,%20ca

La web tiene muchos sitios y herramientas gratuitos para generar direcciones URL codificadas. Por ejemplo, Albion Research Ltd. tiene la página URLEncode y URLDecode. Para facilitar la lectura, el resto de los ejemplos de este tema no están codificados.

Abrir una aplicación guardada

Para abrir una aplicación guardada que se haya creado con Web AppBuilder, utilice id= y el Id. único de la aplicación, tal y como se muestra en el siguiente ejemplo:

http://<your portal url>/apps/webappviewer/index.html?id=6815e148ff1c4aee8dc7159816380a4d

Definir el mapa web

Para definir el mapa web, utilice webmap= y el Id. único del mapa web, tal y como se muestra en el siguiente ejemplo:

http://<your portal url>/apps/webappviewer/index.html?webmap=9cf053ea602345ddae060010c470e615

Centrar el mapa

Para centrar el mapa en una ubicación particular, establezca center= utilizando coordenadas geográficas (x,y) o coordenadas proyectadas (x,y,WKID).

Precaución:

Puede utilizar la coma o el punto y coma como separadores. Use el punto y coma si los números usan los dos puntos como decimales.

A continuación se muestra un ejemplo de coordenadas geográficas:

http://<your portal url>/apps/webappviewer/index.html?center=34,-50

A continuación se muestra un ejemplo de coordenadas proyectadas:

http://<your portal url>/apps/webappviewer/index.html?center=500000,5500000,102100

Definir el nivel de escala

Para definir el nivel de escala del mapa, utilice los parámetros center= y level=. El parámetro level acepta el Id. del nivel de la escala de caché que se incluye en el extremo REST del servicio de mapas. A continuación, encontrará un ejemplo:

http://<your portal url>/apps/webappviewer/index.html?center=20,45&level=4

Definir la escala

Para definir la escala del mapa, utilice los parámetros center= y scale=. El parámetro scale acepta la escala de caché que se incluye en el extremo REST del servicio de mapas. A continuación, encontrará un ejemplo:

http://<your portal url>/apps/webappviewer/index.html?center=20,45&scale=4622324

Definir la extensión

Para definir la extensión del mapa, utilice extent=. El parámetro extent acepta coordenadas geográficas (GCS) como MinX, MinY, MaxX, MaxY o coordenadas proyectadas (PCS) como valores MinX, MinY, MaxX, MaxY, WKID o cadenas de caracteres bien conocidas (WKT) como MinX, MinY, MaxX, MaxY, WKT. Puede utilizar la coma o el punto y coma como separadores. Use el punto y coma si los números usan los dos puntos como decimales.

A continuación se muestra un ejemplo de coordenadas geográficas:

http://<your portal url>/apps/webappviewer/index.html?extent=-117.20,34.055,-117.19,34.06

A continuación se muestra un ejemplo de coordenadas proyectadas:

http://<your portal url>/apps/webappviewer/index.html?extent=-13079253.954115,3959110.38566837,-12918205.318785,4086639.70193162,102113

A continuación se muestra un ejemplo de cadena de caracteres bien conocida:

http://<your portal url>/apps/webappviewer/index.html?extent=1008562.1255,1847133.031,1060087.7901,1877230.7859,wkt=PROJCS["NAD_1983_HARN_StatePlane_Illinois_East_FIPS_1201",GEOGCS["GCS_North_American_1983_HARN",DATUM["D_North_American_1983_HARN",SPHEROID["GRS_1980",6378137.0,298.257222101]]

Definir la visibilidad de las capas

Para definir la visibilidad de las capas en el mapa, puede utilizar showLayers= para especificar las capas visibles o hideLayers= para hacer las capas invisibles. Los parámetros showLayers= y hideLayers= admiten un solo Id. de capa o varios Id. de capa. Para varias capas, utilice un punto y coma para separar la lista de Id. (&showLayers=<layerID>;<layerID>;<layerID>).

A continuación, encontrará un ejemplo: http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&showLayers=Census_8491;Census_8492;Census_8493.

También se admiten nombres de capa. Sin embargo, el uso del Id. de capa es más fiable porque el nombre de la capa puede cambiar. Puede recuperar el Id. de capa del contenido del elemento de mapa web: http://<your portal url>/sharing/rest/content/items/<webmapItemID>/data/?f=pjson.

El uso de los parámetros showLayers= o hideLayers= para establecer la visibilidad de una subcapa solo afecta a la visibilidad de las capas del mismo nivel. Por ejemplo, si el mapa contiene dos capas de grupo (A y B) con tres subcapas cada una (A1, A2, A3 y B1, B2, B3) y utiliza el parámetro showLayers= para mostrar la subcapa B2, las capas de grupo A y B seguirán activas en el mapa, pero las subcapas B1 y B3 se desactivarán.

Sugerencia:

Si el valor del parámetro showLayers= o hideLayers= está vacío, ninguna o todas las capas estarán visibles, respectivamente.

Precaución:

Si incluye muchas capas en la lista o los nombres son demasiado largos al definir el parámetro showLayers= o hideLayers=, la URL podría ser demasiado larga para que el servidor la interprete. (Cada servidor puede tener restricciones diferentes en cuanto a longitud de las direcciones URL).

Buscar una ubicación o entidad para abrir el mapa

Para buscar una ubicación o entidad utilizada para abrir el mapa, use find=. El mapa se acerca automáticamente hasta la coincidencia más próxima y se agrega un marcador de llamada al mapa. El parámetro find admite direcciones de una sola línea, direcciones parciales (por ejemplo, solo la ciudad o el país), nombres de lugares, coordenadas de latitud-longitud y entidades en capas que permiten búsquedas (por ejemplo, 1916352001 para un número de identificación de parcela (PIN)). A continuación, encontrará un ejemplo:

http://<your portal url>/apps/webappviewer/index.html?find=380 new york street, redlands, ca
Precaución:

Para utilizar este parámetro, todos los parámetros de la consulta deben estar codificados y el widget Buscar debe estar activado en la aplicación.

Agregar un punto

Para agregar un punto al mapa, utilice marker=<x>,<y>. El punto se agrega al mapa en la ubicación x,y especificada. También puede incluir las siguientes propiedades opcionales:

  • <wkid>: referencia espacial de las coordenadas x,y agregadas al mapa. Si no incluye un WKID, se utilizarán las coordenadas GCS.
  • <título codificado>: título del elemento emergente del punto. Si no incluye un título, la ventana emergente estará vacía.
  • <dirección URL del icono codificada>: símbolo para el punto. Si no incluye un símbolo, se utilizará un símbolo de marcador azul.
  • <etiqueta codificada>: etiqueta situada junto al símbolo de punto.

Debe tener en cuenta lo siguiente:

  • <x>,<y> son necesarios.
  • Asegúrese de codificar los parámetros de título, icono y etiqueta.
  • Debe agregar las propiedades en este orden: marcador=<x>,<y>,<wkid>,<título codificado>,<dirección URL del icono codificada>,<etiqueta codificada>.
  • Puede utilizar la coma o el punto y coma como separadores. Use el punto y coma si los números usan los dos puntos como decimales.
  • Utilice valores vacíos. No utilice espacios. Por ejemplo, para especificar una etiqueta y ninguna de las demás propiedades opcionales, agregue la etiqueta como el sexto parámetro con valores vacíos para el resto (x;y;;;;etiqueta).
  • Si desea que el mapa se acerque (además de centrarse en el punto), incluya el parámetro level=.

A continuación, encontrará un ejemplo:

http://<your portal url>/apps/webappviewer/index.html?marker=-79.234826;38.147884;;Race start and finish;;Grindstone 100 Ultra Marathon&level=7

Consultar una entidad

Para consultar una entidad y acercarla, puede utilizar una de las opciones siguientes:

  • query=<layer name>,<field name>,<field value>
  • query=<layer name>, <where clause>
  • query=<layer id>,<field name>,<field value>
  • query=<layer id>, <where clause>
Sugerencia:

Ahora hay una forma de construir parámetros de dirección URL interactivamente. Agregue el widget Compartir a la aplicación y haga clic en Opciones de vinculación. Elija la opción Consultar una entidad y aplicarle el zoom y seleccione la capa, el campo y valor de campo sobre los que desea hacer la consulta. Copie la dirección URL en Vista previa del vínculo que contiene los parámetros de dirección URL que ha especificado. Elimine el widget Compartir de la aplicación si no es necesario.

Precaución:

Todos los parámetros de consulta distinguen entre mayúsculas y minúsculas y deben estar codificados.

La cláusula WHERE sigue el estándar SQL. Cuando la cláusula WHERE presente, por ejemplo, la operación IN, utilice un punto y coma en lugar de separar con comas el nombre de capa o el Id. de la cláusula WHERE, como se muestra a continuación. El motivo es que en la cláusula WHERE se utiliza específicamente una coma para construir la lista de valores como, por ejemplo, ('A11', 'A12', 'A13) o ('Charlotte', 'Chicago'). Esto permite que el parámetro de consulta se analice adecuadamente para distinguir qué es la capa y qué es la cláusula WHERE.

  • query=<layer name>; <where clause>
  • query=<layer id>; <where clause>

Dado que el nombre de la capa se puede cambiar, le recomendamos encarecidamente que utilice el Id. de la capa en la consulta. Puede recuperar el Id. de capa del Id. de mapa web, como se muestra aquí: http://<your portal url>/sharing/rest/content/items/32a83775654249dcae6b8f2eff5d4072/data/?f=pjson

Precaución:

Asegúrese de que el mapa web esté compartido públicamente cuando recupere el Id. de la capa.

Por ejemplo, se agrega una capa al mapa por separado en formato JSON, como se muestra a continuación. El Id. de la capa es Census_8491, el nombre de campo es POP2000 y el valor del campo es 1211537. Puede ejecutar las siguientes consultas:

id: "Census_8491",
layerType: "ArcGISFeatureLayer",
url: "http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3",
visibility: true,
opacity: 1,
mode: 1,
title: "Census - states",

http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491,POP2000,1211537
http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491,POP2000=1211537

También puede consultar una cadena de caracteres o los campos ObjectID.

http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491,STATE_NAME,California
http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491,STATE_NAME='California'
http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491,OBJECTID,1

A menudo, se agrega una capa como un grupo de un servicio de mapas. Para consultar una subcapa de un grupo, use <layer id_sublayer id> como Id. de capa. Usando la siguiente capa como ejemplo, el Id. de capa es Census_3217 y el índice del Id. de la subcapa es 3. El Id. de capa de la subcapa debería ser Census_3217_3. Puede ejecutar las siguientes consultas:

id: "Census_3217",
layerType: "ArcGISMapServiceLayer",
url: "http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer",
visibility: true,
opacity: 1,
title: "Census"

http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_3217_3,POP2000,1211537
http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_3217_3,POP2000=1211537
http://<your portal url>/apps/webappviewer/index.html?id=da80a448ac9246148da0811bddc18c94&query=Census_8491;STATE_NAME in ('California', '')

Cambiar la configuración regional

Para cambiar el idioma de la aplicación, utilice el parámetro de URL locale y un código de idioma de ISO 639-1 de dos letras. Web AppBuilder admite todos los idiomas que admite ArcGIS Online, lo cual incluye los siguientes códigos de idioma: ar, bg, bs, ca, cs, da, de, el, en, es, et, fi, fr, he, hr, hu, id, it, ja, ko, lt, lv, nb, nl, pl, pt-br, pt-pt, ro, ru, sk, sl, sr, sv, th, tr, uk, vi, zh-cn, zh-hk y zh-tw.

Para utilizar Web AppBuilder en francés, por ejemplo, incorpore locale=fr a la URL como se muestra a continuación:

http://<your portal url>/apps/webappviewer/index.html?locale=fr

Controlar cuándo se debe activar el diseño móvil

La aplicación admite dos estilos de diseño basados en el tamaño de la pantalla. Uno es para el escritorio y el otro para dispositivos móviles. Cuando la altura o la anchura de una pantalla es menor de 600 píxeles, el diseño móvil se aplica automáticamente. No obstante, esto puede dar lugar a un comportamiento inesperado al integrar la aplicación en un sitio web, por ejemplo, cuando el elemento emergente en el sitio web tiene el estilo de diseño móvil. Para controlar el estilo del diseño, use mobileBreakPoint=<pixel number>. Por ejemplo, puede permanecer en el estilo de escritorio hasta que el tamaño de la pantalla sea inferior a 300 píxeles, como se muestra a continuación:

http://<your portal url>/apps/webappviewer/index.html?mobileBreakPoint=300