Aplikacje utworzone w oprogramowaniu Web AppBuilder mogą być modyfikowane bezpośrednio za pomocą parametrów adresu URL. Adres URL zawsze rozpoczyna następujący element <your portal url>/apps/webappviewer/index.html? i zawiera co najmniej jeden z wymienionych poniżej parametrów zapytania. Aby uwzględnić więcej niż jeden parametr, należy użyć znaku (&) do oddzielenia parametrów. Poniżej znajduje się przykład:
http://<your portal url>/apps/webappviewer/index.html?id=6815e148ff1c4aee8dc7159816380a4d&webmap=9cf053ea602345ddae060010c470e615
Wskazówka:
Obecnie istnieje prostszy sposób konstruowania parametrów adresu URL. Dodaj widżet Udostępnianie w aplikacji i kliknij opcję Opcje łącza. W podglądzie łącza zostaną wyświetlone wybrane parametry i zostanie automatycznie wygenerowane łącze skrótu zawierające parametry adresu URL. Należy pamiętać, że widżet Wyszukiwanie musi być włączony w aplikacji, aby można było używać parametru find.
Notatka:
Aktualnie aplikacje 3D nie obsługują parametrów adresu URL.
Kodowanie parametrów zapytania
Wszystkie parametry zapytania muszą być zakodowane. Kodowanie zastępuje nieprawidłowe znaki ich odpowiednikiem szesnastkowym poprzedzonym znakiem ”%”.
Przykład: niezakodowany parametr adresu URL:http://<your portal url>/apps/webappviewer/index.html?find=380 new york street, redlands, ca
Zakodowany parametr:http://<your portal url>/apps/webappviewer/index.html?find=380%20new%20york%20street,%20redlands,%20ca
W sieci jest dostępnych wiele darmowych witryn i narzędzi umożliwiających wygenerowanie zakodowanych adresów URL. Na przykład, firma Albion Research Ltd. oferuje witryny URLEncode i URLDecode. Aby nie zwiększać trudności zrozumienia tekstu, pozostałe przykłady w tym temacie są zamieszczone w wersji niezakodowanej.
Otwieranie zapisanej aplikacji
Aby otworzyć zapisaną aplikację, która została utworzona w aplikacji Web AppBuilder, użyj parametru id= i unikalnego identyfikatora aplikacji, zgodnie z tym co pokazano w poniższym przykładzie:
http://<your portal url>/apps/webappviewer/index.html?id=6815e148ff1c4aee8dc7159816380a4d
Definiowanie mapy internetowej
Aby zdefiniować mapę internetową, użyj parametru webmap= i unikalnego identyfikatora mapy internetowej, zgodnie z tym co pokazano w poniższym przykładzie:
http://<your portal url>/apps/webappviewer/index.html?webmap=9cf053ea602345ddae060010c470e615
Wyśrodkowanie mapy
Aby wyśrodkować mapę względem określonej lokalizacji, nadaj parametrowi center= odpowiednią wartość za pomocą współrzędnych geograficznych (x,y) lub współrzędnych odwzorowanych (x,y,WKID).
Uwaga:
Jako separatorów możesz użyć przecinków lub średników. Zastosuj średniki, jeżeli jako separator dziesiętny liczb używany jest przecinek.
Poniżej znajduje się przykład współrzędnych geograficznych:
http://<your portal url>/apps/webappviewer/index.html?center=34,-50
Poniżej znajduje się przykład współrzędnych odwzorowanych:
http://<your portal url>/apps/webappviewer/index.html?center=500000,5500000,102100
Definiowanie poziomu skali
Aby zdefiniować poziom skali mapy, skorzystaj z parametrów center= i level=. Parametr level akceptuje identyfikator poziomu skali pamięci podręcznej wymieniony w punkcie końcowym REST usługi mapowej. Poniżej znajduje się przykład:
http://<your portal url>/apps/webappviewer/index.html?center=20,45&level=4
Definiowanie skali
Aby zdefiniować poziom skali mapy, skorzystaj z parametrów center= i scale=. Parametr scale akceptuje skalę pamięci podręcznej wymienioną w punkcie końcowym REST usługi mapowej. Poniżej znajduje się przykład:
http://<your portal url>/apps/webappviewer/index.html?center=20,45&scale=4622324
Definiowanie zasięgu
Do zdefiniowania zasięgu mapy użyj parametru extent=. Parametr extent akceptuje współrzędne geograficzne (GCS) w postaci MinX,MinY,MaxX,MaxY lub współrzędne odwzorowane (PCS) w postaci MinX,MinY,MaxX,MaxY,WKID. Jako separatorów możesz użyć przecinków lub średników. Zastosuj średniki, jeżeli jako separator dziesiętny liczb używany jest przecinek.
Poniżej znajduje się przykład współrzędnych geograficznych:
http://<your portal url>/apps/webappviewer/index.html?extent=-117.20,34.055,-117.19,34.06
Poniżej znajduje się przykład współrzędnych odwzorowanych:
http://<your portal url>/apps/webappviewer/index.html?extent=-13079253.954115,3959110.38566837,-12918205.318785,4086639.70193162,102113
Wyszukiwanie lokalizacji lub obiektu do otwierania mapy
Aby wyszukać lokalizację lub obiekt do otwierania mapy, użyj parametru parametr find=. Skala mapy automatycznie zostanie możliwie najlepiej dopasowana, a do mapy zostanie dodany znacznik objaśnienia. Parametr find akceptuje adresy jednoliniowe, adresy częściowe (takie jak tylko miasto lub tylko kraj), nazwy miejscowości, współrzędne długości i szerokości geograficznej i obiekty na warstwach, w których można wyszukiwać (takie jak 1916352001 dla numery identyfikacji działki (PIN)). Poniżej znajduje się przykład:
http://<your portal url>/apps/webappviewer/index.html?find=380 new york street, redlands, ca
Uwaga:
Wszystkie parametry zapytania muszą być zakodowane, a widżet Wyszukiwanie musi być włączony w aplikacji, aby można było używać tego parametru.
Dodaj punkt
Aby dodać punkt do mapy, użyj parametru marker=<x>,<y>. Punkt jest dodawany do mapy w lokalizacji określonej przez współrzędne x i y. Można również skonfigurować następujące dodatkowe właściwości:
- <wkid> — odniesienie przestrzenne współrzędnych x i y dodawanych do mapy. Jeżeli nie został podany powszechnie znany identyfikator (WKID), używane są współrzędne geograficzne (GCS).
- <encoded title> — tytuł okna podręcznego punktu. W przypadku niepodania tytułu okno podręczne będzie puste.
- <encoded icon URL> — symbol dla punktu. Jeżeli symbol nie zostanie skonfigurowany, użyty zostanie niebieski symbol znacznika.
- <encoded label> — etykieta wyświetlana obok symbolu punktu.
Należy uwzględnić następujące elementy:
- Wymagane są elementy <x> i <y>.
- Należy się upewnić, że tytuł, ikona i parametry etykiety zostały zakodowane.
- Właściwości należy dodawać w tej kolejności: marker=<x>,<y>,<wkid>,<encoded title>,<encoded icon URL>,<encoded label>.
- Jako separatorów możesz użyć przecinków lub średników. Zastosuj średniki, jeżeli jako separator dziesiętny liczb używany jest przecinek.
- Możesz stosować puste wartości. Nie używaj spacji. Na przykład, jeżeli chcesz określić wyłącznie etykietę, a nie właściwości opcjonalne, dodaj etykietę jako szósty parametr, pozostawiając wartości pozostałych parametrów puste (x;y;;;;etykieta).
- Jeżeli chcesz, aby mapa była nie tylko wyśrodkowywana względem punktu, ale również powiększona, skonfiguruj wartość parametru level=.
Poniżej znajduje się przykład:
http://<your portal url>/apps/webappviewer/index.html?marker=-79.234826;38.147884;;Race start and finish;;Grindstone 100 Ultra Marathon&level=7
Zapytania dotyczące obiektów
Aby zadać zapytanie na temat obiektu i przybliżyć go, można użyć następujących opcji:
- query=<layer name>,<field name>,<field value>
- query=<layer name>, <where clause>
- query=<layer id>,<field name>,<field value>
- query=<layer id>, <where clause>
Wskazówka:
Obecnie parametry adresu URL można konstruować interaktywnie. Dodaj widżet Udostępnianie w aplikacji i kliknij opcję Opcje łącza. Wybierz opcję Wyślij zapytanie o obiekt i powiększ do niego, a następnie wybierz warstwę, pole i wartość pola, których ma dotyczyć zapytanie. Skopiuj adres URL z pola Podgląd łącza, które zawiera określone parametry adresu URL. Usuń z aplikacji widżet Udostępnianie, jeśli nie jest potrzebny.
Uwaga:
Wielkość liter ma znaczenie we wszystkich parametrach zapytania i należy ją zakodować.
Ponieważ nie można zmienić nazwy warstwy, zalecane jest użycie w zapytanie identyfikatora warstwy. Identyfikator warstwy można uzyskać z identyfikatora mapy internetowej, jak to pokazano tutaj: http://<your portal url>/sharing/rest/content/items/32a83775654249dcae6b8f2eff5d4072/data/?f=pjson
Uwaga:
Przy uzyskiwaniu identyfikatora warstwy należy się upewnić, że mapa internetowa jest udostępniona publicznie.
Na przykład warstwa jest dodawana do mapy indywidualnie, jak to pokazano poniżej w formacie JSON. Identyfikatorem warstwy jest Census_8491, nazwą pola jest POP2000, a wartością w polu jest 1211537. Można wykonać następujące zapytania: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
Ponadto można wysłać zapytanie dotyczące ciągu znakowego lub pól 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
Często warstwa jest dodawana jako grupa usługi mapowej. Aby wysłać zapytanie dotyczące podwarstwy w grupie, jako identyfikatora warstwy należy użyć <layer id_sublayer id>. W poniższej przykładowej warstwie identyfikatorem warstwy jest Census_3217, a indeksem identyfikatora podwarstwy jest 3. Identyfikatorem podwarstwy powinien być Census_3217_3. Można wykonać następujące zapytania:
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
Przełącz na ustawienia lokalne
Aby zmienić język aplikacji, użyj locale=<language code>. Obsługiwane są następujące kody języków: ar, cs, da, de, en, el, es, et, fi, fr, he, it, ja, ko, lt, lv, nb, nl, pl, pt-br, pt-pt, ro, ru, sv, th, tr, zh-cn, vi, zh-hk, and zh-tw.
Poniżej znajduje się przykład:
http://<your portal url>/apps/webappviewer/index.html?locale=fr
Uwierzytelnianie użytkownika
Aby automatycznie uwierzytelniać użytkownika w niepublicznej aplikacji, użyj token=<token>. W ten sposób użytkownicy nie muszą wprowadzać swoich nazw użytkownika i haseł. Poniżej znajduje się przykład:
http://<your portal url>/apps/webappviewer/index.html?token=utmVcabc_LNyEQ7OuuHD73em0MErLR_cudJTeSIdMFTnL0poF3shVBeng5ieWHyZn0kAA8nhUg7jseQxz3bi5crnFMMpldDiJLrtzmO3jEM-ZNVIUEh5_qMms-YgXUwGgFbeQlM9WaI3jwraUqwah0yCceBAxEkEIAEWvlBEDfVsYs3LZydORRcs2QIcdLas
Sterowanie włączaniem kompozycji dla urządzeń mobilnych
Aplikacja obsługuje dwa style kompozycji, zależnie od rozmiaru ekranu. Jeden jest przeznaczony dla komputerów stacjonarnych, drugi dla urządzeń mobilnych. Jeśli wysokość lub szerokość ekranu jest mniejsza niż 600 pikseli, automatycznie jest stosowana kompozycja dla urządzeń mobilnych. Jednak jeśli aplikacja jest osadzona w witrynie, może to powodować nieoczekiwane zachowanie, na przykład w sytuacji, gdy okno podręczne w witrynie ma styl kompozycji mobilnej. Do sterowania stylem kompozycji użyj mobileBreakPoint=<pixel number>. Można na przykład pozostawić styl dla urządzeń stacjonarnych, dopóki rozmiar ekranu nie będzie mniejszy niż 300 pikseli, jak to pokazano poniżej:
http://<your portal url>/apps/webappviewer/index.html?mobileBreakPoint=300