Erstellen von Webanwendungsvorlagen
Um eine eigene Vorlage zu erstellen, können Sie eine vorhandene Vorlage herunterladen und ändern, eine vorhandene Webanwendung für die Arbeit mit Inhalten aus ArcGIS Online aktualisieren oder eine neue Webanwendung mit einer der ArcGIS Web APIs erstellen. Unabhängig davon, wie Sie die eigene Vorlage erstellen, arbeiten Sie mit URL-Parametern und Webkarten. Sie können mit Gruppen arbeiten, wenn Sie eine Gruppenvorlage erstellen, und Sie müssen möglicherweise zusätzliche Anforderungen für die Arbeit mit Bing-Grundkarten, den Zugriff auf nicht-öffentliche Karten und die Arbeit mit Ressourcen berücksichtigen, für die ein Proxy oder CORS (Cross-Origin Resource Sharing) erforderlich ist. Außerdem fügen Sie ArcGIS Online Ihr Element hinzu und geben es für die Kartenvorlagen- oder Gruppenvorlagengruppe der Organisation frei, falls Ihre Organisation plant, Ihre Vorlage in ihrer Vorlagengalerie zu verwenden.
In diesem Abschnitt wird erläutert, wie eine Webanwendungsvorlage erstellt wird. Nachdem Sie Ihre Anwendung erstellt haben, können Sie sie konfigurierbar machen. Mittels konfigurierbarer Vorlagen können Benutzer das Aussehen und Verhalten der Anwendung anpassen. Weitere Informationen zum Erstellen von benutzerdefinierten Vorlagen finden Sie unter Hinzufügen konfigurierbarer Parameter zu Vorlagen.
URL-Parameter
Wenn Sie eine Vorlage verwenden, legen Sie fest, welche Webkarte oder Gruppe angezeigt werden soll, indem Sie den Parameter webmap oder group in die Vorlagen-URL einfügen. Die Vorlagen zeigen Inhalte aus einer Webkarte oder Gruppe an, indem Sie eine ID als URL-Parameter angeben. Webkarten-IDs werden mit dem Parameter webmap und Gruppeninhalte mit dem Parameter group festgelegt. Damit Ihre benutzerdefinierte Vorlage mit der aktuellen Webkarte oder Gruppe funktioniert, müssen Sie einen Code in die Anwendung einfügen, um die aktuelle Webkarten- oder Gruppen-ID aus der URL zu extrahieren. Weitere Informationen zu Webkartenparametern finden Sie unter Verwenden von URL-Parametern.
Beispielsweise können Sie die Webkarte "Grundkarte von Europa" in der Vorlage "Basic Viewer" anzeigen.
Beginnen Sie dazu mit der URL des "Basic Viewer":
http://www.arcgis.com/apps/OnePane/basicviewer/index.html
Kopieren Sie den Teil "webmap=" der URL der Grundkarte von Europa":
http://www.arcgis.com/home/webmap/viewer.html?webmap=5421a40574914458892efe74f0149025
Und fügen Sie ihn ans Ende der URL des "Basic Viewer" an:
http://www.arcgis.com/apps/OnePane/basicviewer/index.html?webmap=5421a40574914458892efe74f0149025
Die JavaScript-API verfügt über die Hilfsmethode "esri.urlToObject" zur Vereinfachung dieses Prozesses. Bei dieser Methode werden URL-Parameter in ein Objekt konvertiert.
var webmap;
var urlObject = esri.urlToObject(document.location.href);
Sobald die URL-Parameter in ein Objekt konvertiert wurden, können Sie auf verschiedene Eingaben zugreifen. Sie können beispielsweise den Wert für den Parameter der Webkarten-URL einer Variablen mit dem Namen "webmap_id" zuweisen.
var webmap_id = urlObject.query.webmap;
Wenn die Vorlage konfigurierbar ist, müssen Sie ebenfalls einen URL-Parameter namens appid bearbeiten, der die Konfigurationseinstellungen definiert. Weitere Informationen finden Sie unter Konfigurieren von Vorlagen ermöglichen.
Webkarten
Webkartenvorlagen sind so konzipiert, dass sie mit der aktuell angezeigten Webkarte in ArcGIS.com Map Viewer funktionieren. Weitere Informationen zum Erstellen von Web Mapping-Anwendungen finden Sie unter Erstellen von Anwendungen mit Webkarten.
Vorlagen erstellen eine Karte in der Regel auf Basis der Webkarte, die im URL-Parameter der Webkarte angegeben ist. Jede Web API verfügt über eine Hilfsmethode zur Erstellung einer Karte anhand von Informationen aus der Webkarten-ID.
Sie können beispielsweise die "esri.arcgis.utils.createMap"-Methode der ArcGIS API for JavaScript verwenden, um eine Karte auf Grundlage der Eingabe-ID zu erstellen. Sie können außerdem eine Rückruffunktion einfügen, die ausgeführt wird, wenn die synchrone Anforderung an "esri.arcgis.utils.createMap" abgeschlossen ist.
esri.arcgis.utils.createMap(webmap,"map",{
mapOptions:{
slider:false
},
bingMapsKey:bingMapsKey
}).then(function(response){
map = response.map;
});
Wenn eine Ihrer Webkarten eine Bing Maps-Grundkarte enthält, müssen Sie bei Verwendung der Methode createMap einen Bing Maps-Schlüssel angeben. Es gibt verschiedene andere Kartenoptionen, um festzulegen, ob beispielsweise Schieberegler, Navigation, Attribution usw. angezeigt werden sollen.
Die Funktion callback ermöglicht den Zugriff auf ein Antwortobjekt, das Zugriff auf das Kartenobjekt, Layer usw. bietet.
Weitere Informationen zum Verwenden der ArcGIS API for JavaScript für die Arbeit mit Webkarten
Gruppe
Gruppenvorlagen zeigen Inhalte aus den festgelegten Gruppen als Anwendung an. Weitere Informationen zum Veröffentlichen von Galerieanwendungen finden Sie unter Erstellen von Anwendungen mit Gruppen.
Die ArcGIS Portal API bietet Zugriff auf Inhalte aus ArcGIS Online. Sie können sie zum Abrufen von Gruppeninhalten auf Grundlage der Eingabegruppen-ID verwenden. Weitere Informationen zum Arbeiten mit der ArcGIS Portal API finden Sie unter ArcGIS Portal API.
In diesem Beispiel wird ArcGIS Online abgefragt, um eine Gruppe mit der Eingabe-ID zu suchen.
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];
});
});
Nachdem Sie die Gruppe gefunden haben, können Sie die Gruppe abfragen, um Elemente abzurufen.
In diesem Beispiel wird die Gruppe abgefragt, um fünf Elemente vom Typ Webkarte oder Web Mapping-Anwendung zu suchen.
var queryParams = {
q: 'type:"Web Map" -type:"Web Mapping Application"',
num: 5
};
group.queryItems(queryParams).then(function(response){
var groupItems = response.results;
});
Zusätzliche Überlegungen
Da Vorlagen normalerweise so konzipiert sind, dass sie mit vielen unterschiedlichen Inhaltstypen funktionieren, müssen Sie die Vorlage möglicherweise für die Verarbeitung von Karten mit Bing Maps-Grundkarten, nicht öffentlichen Inhalten usw. einrichten. Spezifische Überlegungen sind unten aufgeführt.
Bing Maps-Schlüssel
Wenn eine der Webkarten, die Sie anzeigen möchten, eine Bing Maps-Grundkarte verwendet, müssen Sie einen Bing Maps-Schlüssel in Ihre Anwendung einbeziehen. Der Bing Maps-Schlüssel steht der "createMap"-Methode als Option zur Verfügung.
Weitere Informationen zum Verwenden des Bing Maps-Schlüssels
Identity Manager
Mit Identity Manager wird das Arbeiten mit sicheren Ressourcen vereinfacht. Identity Manager verarbeitet den Prozess zur Aufforderung des Benutzers, die Anmeldeinformationen einzugeben, einen Token zu erstellen und ihn an die Ressource anzuhängen. Durch die Einbeziehung der Identity Manager-Klasse in die Vorlagenanwendung funktioniert die Vorlage mit öffentlichen und privaten Webkarten.
Fügen Sie die folgende Codezeile in Ihre Anwendung ein, um Identity Manager zu aktivieren:
dojo.require("esri.IdentityManager");
Weitere Informationen zu Identity Manager
Sie müssen außerdem SSL auf dem Webserver konfigurieren, auf dem Ihre Anwendung gehostet wird.
Proxy- und CORS-Unterstützung
Da Ihre Anwendung domänenübergreifende Anforderungen an ArcGIS Online sendet, müssen Sie CORS (Cross-Origin Resource Sharing) aktivieren oder Ihrer Anwendung einen Proxy hinzufügen.
Hinzufügen der Vorlage zu ArcGIS Online
Nachdem Sie die Vorlage erstellt haben und sie auf Ihrem Webserver hosten, müssen Sie die Vorlage als konfigurierbare Web Mapping-Anwendung auf ArcGIS Online als Element hinzufügen. Als Elementtyp wählen Sie "Web Mapping". Als Verwendung wählen Sie "Konfigurierbar". Weitere Informationen zum Hinzufügen von Elementen auf ArcGIS Online finden Sie unter Hinzufügen von Anwendungen. Sie können das Element auch über die ArcGIS Portal API hinzufügen.
Fügen Sie einen beschreibenden Titel und eine Zusammenfassung hinzu, da diese Informationen angezeigt werden, wenn Benutzer in der Vorlagengalerie mit der Maus auf das Element zeigen. Sie haben auch die Möglichkeit, eine ZIP-Datei zu erstellen, die Ihre Anwendungsdateien enthält, und diese an das Element anzuhängen, damit sie heruntergeladen werden kann.
Verwenden der Vorlage in der Galerie Ihrer Organisation
Wenn Sie die Vorlage in der Web Mapping-Vorlagengalerie Ihrer Organisation oder in der Gruppenvorlagengalerie verwenden möchten, geben Sie das Element für die Gruppe frei, die für die Vorlagen verwendet wird. Anschließend kann der Administrator Ihrer Organisation die Karte konfigurieren oder Gruppen konfigurieren, um die Gruppe zu verwenden, die Ihre Vorlage enthält.