Po utworzeniu szablonu aplikacji internetowej można ustawić go jako konfigurowalny. Konfigurowalne aplikacje internetowe pozwalają użytkownikom dostosowywać wygląd i działanie aplikacji. Tworzenie konfigurowalnego szablonu aplikacji przebiega w czterech etapach:
- Utwórz szablon aplikacji internetowej, jeśli wcześniej nie zostało to zrobione.
- Utwórz plik konfiguracyjny, aby zdefiniować właściwości konfiguracyjne.
- Skonfiguruj szablon w taki sposób, aby odczytywał właściwości konfiguracyjne i stosował je w aplikacji.
- Powiąż plik konfiguracyjny z wybranym elementem dla szablonu aplikacji.
Tworzenie pliku konfiguracyjnego
Plik konfiguracyjny jest plikiem JSON, który definiuje opcje konfiguracji szablonu aplikacji. Zapoznaj się z pełnym przykładem pliku konfiguracyjnego.
Notatka:
Dobrą praktyką jest uruchamianie kodu JSON za pośrednictwem modułu sprawdzania poprawności, jakim jest np. JSONLint, aby upewnić się, że kod JSON został prawidłowo napisany i nie zawiera błędów.
Plik konfiguracyjny zawiera co najmniej jedną sekcję, która określa kategorie opcji.
Utwórz kolejne sekcje, określając kategorię i zestaw pól.{
"configurationSettings": [
{
"category": "",
"fields": []
}
]
}
Określ opcje konfiguracji za pomocą typów pola wyszczególnionych w tabeli poniżej. Podczas tworzenia pliku konfiguracyjnego upewnij się, że właściwość fieldName jest unikatowa w obrębie ustawienia konfiguracji.
Typ pola | Opis |
---|---|
Paragraf | Pozwala wyświetlić objaśnienie w oknie dialogowym konfiguracji.
|
Ciąg znakowy | Obsługuje dane w postaci tekstu. Zawiera właściwość stringFieldOption, która określa typ pola tekstowego wyświetlanego na ekranie. Wartości to textbox, textarea i richtext. Opcja textbox jest wybrana domyślnie i oznacza pole tekstowe z pojedynczym wierszem. Opcja textarea wyświetla większe pole tekstowe do wprowadzania danych. Opcja richtext wyświetla edytor tekstu formatowanego, który pozwala użytkownikom stosować formatowanie, takie jak ustawienia czcionki (pogrubiona, kursywa itp.). Przykładowe dane wynikowe |
Wartość logiczna | Tworzy pole wyboru pozwalające wybrać wartość true lub false. condition umożliwia sprawdzenie, czy mapa zawiera podaną funkcjonalność. Jeśli mapa nie spełnia warunku, pole wyboru i etykieta nie są wyświetlane w panelu konfiguracji.
Przykładowe dane wynikowe
|
Liczba | Tworzy pole, które przyjmuje wartości liczbowe. Jeśli pole ma przyjmować wartości tylko z określonego zakresu, można użyć ustawienia constraints, aby ograniczyć dane wejściowe do przedziału wartości lub sformatować wprowadzane wartości. Przykładowe dane wynikowe |
Opcje | Tworzy rozwijaną listę z szeregiem opcji wyboru.
Przykładowe dane wynikowe
|
Okno wyboru kolorów | Otwiera okno wyboru kolorów umożliwiające wybranie danej barwy z palety kolorów albo określenie wartości szesnastkowych, RGB lub HSV.
Przykładowe dane wynikowe
|
Okno dialogowe Mapa internetowa | Wyświetla okno dialogowe służące do przeglądania lub wyszukiwania nowych map w celu wyświetlenia w aplikacji. Opcjonalnie podaj warunek, aby przetestować mapę. Jeśli podany warunek nie będzie spełniony, w panelu konfiguracji zostanie wyświetlony komunikat weryfikacji potwierdzający, że mapa nie spełnia wymagań. Prawidłowe ciągi znakowe warunków są następujące:
Przykładowe dane wynikowe
|
Okno dialogowe Grupa | Wyświetla okno dialogowe służące do przeglądania lub wyszukiwania nowych grup w celu wyświetlenia w aplikacji.
Przykładowe dane wynikowe
|
Selektor wielu warstw i pól | Przedstawia widok drzewa warstw i pól w mapie, które są zgodne z obsługiwanymi typami i typami geometrii. Pozwala użytkownikom końcowym aplikacji na wybieranie wielu warstw i wielu pól dla każdej warstwy.
Przykładowe dane wynikowe
|
Selektor warstw i pól | Wyświetla listę rozwijaną warstw na mapie z filtrem według wymienionych typów i geometrii. Opcjonalnie podaj co najmniej jeden selektor pól, aby umożliwić użytkownikom wybór warstwy i pól.
Przykładowe dane wynikowe
|
Opcja jednokrotnego wyboru | Tworzy przycisk radiowy umożliwiający jednoczesny wybór tylko jednej opcji. Wybrana opcja zostanie ustawiona na wartość prawda (true).
Przykładowe dane wynikowe
|
Mapy bazowe | Wyświetla listę rozwijaną wszystkich nazwanych map bazowych Esri.
Przykładowe dane wynikowe
|
Warunkowe | Wyświetla lub ukrywa zasoby w zależności od tego, czy warunek jest prawdziwy, czy też fałszywy. Jeśli na przykład pole wyboru Wyświetl listę warstw nie jest zaznaczone, lista warstw i wszystkie powiązane opcje (na przykład Uwzględnij warstwy podrzędne na liście warstw) są ukryte.
|
Szukaj | Konfiguruje panel wyszukiwania służący do znajdowania obiektów w obrębie pola warstwy obiektowej albo adresów przy użyciu lokalizatora. Jeśli zostanie skonfigurowane wyszukiwanie obiektów, użytkownicy będą mogli wybierać warstwę obiektową i pola wyszukiwania.
Przykładowe dane wynikowe |
Lista skal | Wyświetla listę wstępnie zdefiniowanych poziomów skal, spośród których użytkownik może dokonywać wyboru. Przykłady: Kraje, Województwa/Stany, Województwo/Stan, Powiaty, Powiat, Okręg administracyjny, Miasto, Miejscowość, Dzielnica.
Przykładowe dane wynikowe
|
Przykładowy plik konfiguracyjny
Poniżej znajduje się przykład kompletnego pliku konfiguracyjnego:
{
"configurationSettings": [
{
"category": "General Settings",
"fields": [
{
"type": "options",
"fieldName": "theme",
"tooltip": "Color theme to use",
"label": "Color Scheme:",
"options": [
{
"label": "Blue",
"value": "blue"
},
{
"label": "Green",
"value": "green"
},
{
"label": "Orange",
"value": "orange"
}
]
},
{
"type": "string",
"fieldName": "layer",
"label": "Analysis Layer",
"tooltip": "Feature Layer with Facilities to search"
},
{
"type": "string",
"fieldName": "orgname",
"label": "Organization Name:",
"tooltip": "",
"stringFieldOption": "richtext",
"placeHolder": "Organization Name"
},
{
"type": "number",
"fieldName": "bufferdistance",
"label": "Search Distance (miles)",
"value": "1"
}
]
}
],
"values": {
"theme": "orange",
"bufferdistance": 1
}
}
Konfiguracja szablonu w celu wczytania informacji z pliku konfiguracyjnego
Aby ustawić szablon jako konfigurowalny, aplikacja musi akceptować identyfikator elementu dla aplikacji do tworzenia map internetowych jako wartość parametru URL appid. Ten identyfikator jest używany do przesłania asynchronicznego żądania w celu pobrania właściwości konfiguracji aplikacji. W interfejsie ArcGIS Maps SDK for JavaScript można użyć elementu esri.request, aby pobrać szczegółowe informacje o konfiguracji aplikacji.
W tym przykładzie element esri.arcgis.utils.arcgisUrl jest tłumaczony na www.arcgis.com/sharing/content/items.
var requestHandle = esri.request({
url: esri.arcgis.utils.arcgisUrl + "/" + appid + "/data",
content: {
f: "json"
},
callbackParamName: "callback",
load: function (response) {
for (var key in response.values){
if(response.values[key]!==undefined)configOptions[key]=response.values[key];
}
},
});
W odpowiedzi uwzględnione będą zmiany wprowadzone przez użytkownika do aplikacji za pomocą panelu konfiguracyjnego. Można przywrócić zmiany i zastosować je w aplikacji. Aplikacja powinna definiować wartości domyślne opcji konfiguracji, które są używane, gdy szablony nie są skonfigurowane.
{
"source": "15a34e2c161b4364860854fbc84262c5",
"folderId": "5705faa4594a4fd09edf01742c16e523",
"values": {
"webmap": "32f1438789d34b5e8125f0f7c64b8d63",
"layer":"https://sampleserver6.arcgisonline.com/arcgis/rest/services/Water_Network/MapServer/2",
"theme": "green",
"orgname": "Water Points",
"bufferdistance": 3
}
}
Tworzenie powiązania pliku konfiguracyjnego z elementem dla własnego szablonu aplikacji
Po utworzeniu pliku konfiguracyjnego można powiązać go z niestandardowym szablonem aplikacji, dzięki czemu aplikacja stanie się konfigurowalna.
- O ile nie zostało to jeszcze zrobione, dodaj szablon aplikacji jako element aplikacji.
- Na stronie elementu szablonu aplikacji kliknij kartę Ustawienia i znajdź sekcję Aplikacja map internetowych.
- Z menu rozwijanego Cel wybierz opcję Konfigurowalne.
- W polu Parametry konfiguracji wklej kod JSON z pliku konfiguracyjnego.
Notatka:
Pole Parametry konfiguracji wymaga prawidłowego kodu JSON. Dobrą praktyką jest uruchamianie kodu JSON za pośrednictwem modułu sprawdzania poprawności, jakim jest np. JSONLint, aby upewnić się, że kod JSON został prawidłowo napisany i nie zawiera błędów.
- Kliknij przycisk Zapisz, aby zapisać ustawienia.
Jeśli chcesz używać konfigurowalnego szablonu w galerii aplikacji przeglądarki Map Viewer Classic swojej instytucji lub galerii aplikacji grupowych, udostępnij ten element grupie zastosowanej do tej galerii aplikacji. Wówczas administrator instytucji może skonfigurować mapę lub skonfigurować grupy, aby użyć danej grupy zawierającej Twój szablon.