BLOG
|
Erstellt man mit dem Web AppBuilder eine Web-App, so wird die dabei konfigurierte Web Map fest mit der App verdratet. In manchen Anwendungsfällen möchte man aber eventuell eine Web-App auch mit unterschiedlichen Web Maps verwenden können. Dies ist mit dem Web AppBuilder relativ einfach realisierbar, indem man die ID der gewünschten Web Map als URL-Parameter beim Aufruf der App mit angibt. Ein leider schlecht dokumentierter URL-Parameter des Web AppBuilders ist der Parameter itemid. Mit diesem gibt man die ID der Web Map an, die in der Webanwendung verwendet werden soll. Diese als URL-Parameter angegebene Web Map überschreibt die in der Konfiguration des Web AppBuilders angegebene Web Map und wird so in der Web-App angezeigt. Dieses Prinzip funktioniert sowohl beim Web AppBuilder Developer Edition als auch beim im Portal integrierten Web AppBuilder. Ein URL-Aufruf einer mit der Developer-Edition erstellten App könnte dann z.B. so aussehen: http://<host>/MyApp/index.html?itemid=851bfb6399de45faa7b62b811b7f8979 Für eine App im Portal sieht ein URL-Aufruf der App z.B. wie folgt aus: https://<host>/portal/apps/webappbuilder/index.html?id=b3381f7da4d945a98e25ea9655f33d77&itemid=851bfb6399de45faa7b62b811b7f8979 Dabei ist in beiden Fällen 851bfb6399de45faa7b62b811b7f8979 die ID der Web Map, die in der App angezeigt werden soll.
... View more
05-18-2018
02:48 AM
|
3
|
0
|
510
|
POST
|
Thanks for your reply. I'm already using the UserCredentials class in the app to access the content of the portal. In the description of the class I find the hint: "If you wish to store and reuse UserCredentials, the best way of doing this is by serializing them to disk. This should be done to a secure location, and should use some form of encryption if possible." So I guess the recommendation is to serialize the UserCredentials object to a Byte array, encrypt this byte array and save that to the device. What would be the best way to encrypt the credentials and to handle encryption keys to avoid security issues? And what's the best way to store the data to the device? Would you recommend to use the SharedPreferences for that or something else?
... View more
02-07-2017
01:55 AM
|
0
|
0
|
310
|
POST
|
Collector for ArcGIS for example has such a functionality. If I already used the Collector app and open it again, I don't have to login again. So the app somehow remenbers my login. Does anybody know how this is done and how this could be implemented in an own app?
... View more
02-03-2017
04:16 AM
|
1
|
0
|
310
|
POST
|
In my android app the user has to login with a Named User from Portal for ArcGIS. When the user has logged in once, he shoudn't need to log in any more, when he reuses the app later. So I am looking for a best practise to store the login data somehow on the devise and read it later from the app to use it with the portal. So the user doesn't have to login again when he reuses the app. Is there a recommended way for this approach?
... View more
02-02-2017
04:39 AM
|
1
|
3
|
1252
|
BLOG
|
Mit der 4.x Serie des ArcGIS API for JavaScript hat Esri eine neu überarbeitete Version des APIs herausgebracht, die neben den 2D Karten auch 3D Karten unterstützt. Das API wurde grundlegend neu designt und auf eine einfache Verwendung hin optimiert. 3D Applikationen können mit der Version 4.0 auf der Basis von Webszenen erstellt werden, mit denen dreidimensionale Daten dargestellt werden können. Die Programmierung für 2D und 3D Karten ist sehr ähnlich oder fast identisch. In der aktuellen Version 4.0 sind noch nicht alle Möglichkeiten, die in der 3.x Version für 2D Karten verfügbar sind, vorhanden. Die Unterschiede können einer Vergleichsmatrix entnommen werden. Verwendung von 3D Karten ist so einfach wie bei 2D Karten Das neue API bietet ein einheitliches Programmiermodell für 2D und 3D Karten. Dies beinhaltet eine Trennung zwischen der Map als Model und der MapView (2D) bzw. SceneView (3D) als View-Komponente. Ein Map-Objekt kann dabei sowohl in einer 2D als auch in einer 3D Karte verwendet werden. Andere Eigenschaften wie Layer, Geometrien, Symbologie, Renderer, Tasks, Popups etc. sind bei 2D und 3D Karten äquivalent. Für 3D Karten kommen zusätzlich spezielle 3D Symbole hinzu. Daten aus dem Web GIS verwenden Als Datenquelle für 3D Karten können Webszenen verwendet werden, die in ArcGIS Online oder über Portal for ArcGIS bereitgestellt werden. Die Vorgehensweise ist dabei so einfach wie bei 2D Webkarten. Man lädt die Webszene einfach über ihre Item-ID. Ebenso können einzelne Layer aus ArcGIS Online bzw. Portal for ArcGIS über ihre ID geladen und der Karte hinzugefügt werden, um so Inhalte aus unterschiedlichen Quellen zusammenzufügen. Verbesserungen für die Benutzeroberfläche Einige Verbesserungen in der Benutzerfreundlichkeit wurden im 4.0 API umgesetzt, z.B. durch eine einfache und flexible Positionierung von UI-Elementen, ein neugestaltetes Popup-Fenster, verbesserte Widgets und verschiedenes mehr. Bei Popups kann nun eine Standardposition, wie z.B. die rechte, obere Ecke, definiert werden. Ebenso können Popup-Aktionen mit eigener Funktionalität definiert werden, die dann als Schaltfläche im Popup integriert werden. Das Aussehen der grafischen Oberfläche von Widgets kann einfach über CSS angepasst werden oder sogar ganz durch eine eigene Oberfläche ersetzt werden. Verwenden von Vector Tiles Die neuen Vector Tiles können im 4.0 API über einen eigenen Layer-Typ verwendet werden. Bei Vector Tiles werden die Kacheldaten nicht als Bild, sondern als Vektor-Repräsentation gespeichert und dann clientseitig gezeichnet. Vector Tiles zeichnen sich durch eine geringe Datenmenge und eine hohe Auflösung auch bei großen Maßstäben aus. Die Darstellung der Inhalte kann bei Vector Tiles angepasst werden, sodass man einem Layer einen eigenen Style zuweisen und damit das Aussehen individuell gestalten kann. Einen Überblick über die neue Version 4.0 des APIs findet man unter https://developers.arcgis.com/javascript/latest/guide/index.html Wer die vielen neuen Möglichkeiten des JavaScript APIs ausprobieren möchte, findet Anleitungen, eine API-Referenz und zahlreiche Beispiele unter https://developers.arcgis.com/javascript/
... View more
07-18-2016
02:10 AM
|
1
|
0
|
444
|
BLOG
|
Die neue Generation der ArcGIS Runtime SDKs macht inzwischen Fortschritte und so wurde für iOS nun ein Beta 2 des Quartz Releases veröffentlicht. Aufgrund der umfangreichen architektonischen und funktionalen Änderungen hatte sich die Veröffentlichung etwas verschoben. Im Gegensatz zum Beta 1, in dem nur Online-Daten verwendet werden konnten, können nun mit Beta 2 auch Offline-Daten genutzt werden, die entweder mit ArcGIS Desktop erstellt oder per Task von einem Service zur offline Verwendung extrahiert werden. Die offline Daten können auch lokal editiert und wieder synchronisiert werden und ebenfalls können nun Routing und Geocoding lokal auf dem mobilen Gerät durchgeführt werden. Neu ist auch die Möglichkeit, Vektor-Tiles in der Karte zu verwenden, die sowohl online als auch offline zur Verfügung gestellt werden können. Vektor-Tiles haben den Vorteil, dass sie schneller und kleiner sind und bei hoher Auflösung besser aussehen. Mobile-Map-Packages, die mit ArcGIS Pro erstellt werden, können ebenso in der App verwendet werden. 3D-Daten werden in dieser Version Beta 2 noch nicht unterstützt. Dies wird dann in der Final Version von Quartz hinzukommen. Alle Neuerungen findet man hier: https://developers.arcgis.com/ios/beta/swift/guide/release-notes.htm Weitere Informationen unter: https://blogs.esri.com/esri/arcgis/2016/03/25/the-arcgis-runtime-sdks-for-ios-and-android-quartz-beta-2-is-now-available/
... View more
04-04-2016
12:22 AM
|
1
|
0
|
1264
|
BLOG
|
Die neue Generation der ArcGIS Runtime SDKs macht inzwischen Fortschritte und so wurde für Android nun ein Beta 2 des Quartz Releases veröffentlicht. Aufgrund der umfangreichen architektonischen und funktionalen Änderungen hatte sich die Veröffentlichung etwas verschoben. Im Gegensatz zum Beta 1, in dem nur Online-Daten verwendet werden konnten, können nun mit Beta 2 auch Offline-Daten genutzt werden, die entweder mit ArcGIS Desktop erstellt oder per Task von einem Service zur offline Verwendung extrahiert werden. Die offline Daten können auch lokal editiert und wieder synchronisiert werden und ebenfalls können nun Routing und Geocoding lokal auf dem mobilen Gerät durchgeführt werden. Neu ist auch die Möglichkeit, Vektor-Tiles in der Karte zu verwenden, die sowohl online als auch offline zur Verfügung gestellt werden können. Vektor-Tiles haben den Vorteil, dass sie schneller und kleiner sind und bei hoher Auflösung besser aussehen. Mobile-Map-Packages, die mit ArcGIS Pro erstellt werden, können ebenso in der App verwendet werden. 3D-Daten werden in dieser Version Beta 2 noch nicht unterstützt. Dies wird dann in der Final Version von Quartz hinzukommen. Alle Neuerungen findet man hier: https://developers.arcgis.com/android/beta/guide/release-notes-android.htm Weitere Informationen unter: https://blogs.esri.com/esri/arcgis/2016/03/25/the-arcgis-runtime-sdks-for-ios-and-android-quartz-beta-2-is-now-available/
... View more
04-04-2016
12:21 AM
|
1
|
0
|
1269
|
BLOG
|
Vom Web AppBuilder for ArcGIS Developer Edition ist die Version 2.0 beta erschienen, mit der man nun auch Web Apps erstellen kann, die 3D Daten anzeigen. Dazu verwendet diese Version intern das ArcGIS JavaScript API v4.0 beta 3, mit der 3D Web-Szenen angezeigt werden können. Programmatisch können die wichtigen Eigenschaften der Web-Szene wie Viewpoint, Extent, Zoomstufe, Maßstab, Camera-Einstellungen usw. gesetzt werden. Im Bereich 2D-Karten ist die Funktionalität von der bisherigen Version übernommen worden. Für 3D-Karten sind verschiedene neue Widgets hinzugekommen wie ein Kompass-Widget, ein 3D-Koordinaten-Widget, ein Environment-Widget, ein 3D-Layer-List-Widget, ein Full-Screen Widget, ein 3D-Navigations-Widget, ein Slides-Widget und ein Such-Widget für 3D-Daten. Eine beispielhafte 3D-Web-App, die mit dem neuen Web AppBuilder erstellt wurde, kann man sich unter folgendem Link anschauen: http://webappbuilderdemos.s3-website-us-east-1.amazonaws.com/waterfront/ Weitere Informationen auch auf dem Esri Blog: https://blogs.esri.com/esri/arcgis/2016/01/29/web-appbuilder-for-arcgis-is-now-supports-3d-beta/ Diese Version des Web AppBuilders ist auf der Esri Early Adopter Webseite erhältlich: http://j.mp/WABDevEd2
... View more
02-03-2016
04:20 AM
|
1
|
0
|
1057
|
BLOG
|
Bei der neuen Version 10.2.7 des SDKs handelt es sich um ein Bugfix-Release, das funktional keine Neuerungen mit sich bringt, sondern nur einige kleinere Fehler behebt. Diese sind in den Release-Notes aufgeführt: https://developers.arcgis.com/android/guide/release-notes.htm Die erforderliche Android Version für das SDK ist 4.0.1 (API Level 14) oder höher. Die empfohlene Entwicklungsumgebung ist das Android Studio. Weitere Informationen auch unter: http://blogs.esri.com/esri/arcgis/2015/10/01/arcgis-runtime-sdk-for-android-v10-2-7-released/ Das ArcGIS Runtime SDK for Android 10.2.7 ist hier erhältlich: https://developers.arcgis.com/android/
... View more
10-06-2015
02:31 AM
|
1
|
0
|
1049
|
BLOG
|
Die neue Generation der ArcGIS Runtime SDKs ist auf dem Weg und für die Plattformen Android, iOS und Java ist nun jeweils eine Beta 1 von dieser Version veröffentlicht worden. Das Quartz Release wird die bisher größten Änderungen und Neuerungen in den Runtime SDKs bringen. Es ist von Grund auf mit einer neuen Architektur erstellt worden und wird eine bessere Konsistenz zwischen den einzelnen Runtime SDKs mit sich bringen. Die Unterstützung von 3D Daten in der Karte ist das besondere Highlight im neuen Quartz-Release. Neuerungen im ArcGIS Runtime SDK for Android sind u.a. die Trennung von Map und MapView, eine bessere Portal-Integration und die Verwendung von Graphics in Overlays. Alle Neuerungen findet man hier: https://developers.arcgis.com/android/beta/guide/release-notes-android.htm Das Beta 1 hat im Moment noch einen reduzierten Funktionsumfang. Nicht verfügbar sind dabei die Offline-Funktionalitäten (kommt in Beta 2), Routing, Geocoding und Analysen, sowie Tasks wie Query, Find und Identify. Dies wird bis zum Final Release nach und nach wieder hinzukommen. Weitere Informationen unter: http://blogs.esri.com/esri/arcgis/2015/08/26/quartz-beta-1-is-now-available/
... View more
09-04-2015
07:17 AM
|
0
|
0
|
1043
|
BLOG
|
Die neue Generation der ArcGIS Runtime SDKs ist auf dem Weg und für die Plattformen iOS, Android und Java ist nun jeweils eine Beta 1 von dieser Version veröffentlicht worden. Das Quartz Release wird die bisher größten Änderungen und Neuerungen in den Runtime SDKs bringen. Es ist von Grund auf mit einer neuen Architektur erstellt worden und wird eine bessere Konsistenz zwischen den einzelnen Runtime SDKs mit sich bringen. Die Unterstützung von 3D Daten in der Karte ist das besondere Highlight im neuen Quartz-Release. Neuerungen im ArcGIS Runtime SDK for iOS sind u.a. die Trennung von Map und MapView, eine bessere Portal-Integration und die Verwendung von Graphics in Overlays. Alle Neuerungen findet man hier: https://developers.arcgis.com/ios/beta/swift/guide/release-notes.htm Das Beta 1 hat im Moment noch einen reduzierten Funktionsumfang. Nicht verfügbar sind dabei die Offline-Funktionalitäten (kommt in Beta 2), Routing, Geocoding und Analysen, sowie Tasks wie Query, Find und Identify. Dies wird bis zum Final Release nach und nach wieder hinzukommen. Weitere Informationen unter: http://blogs.esri.com/esri/arcgis/2015/08/26/quartz-beta-1-is-now-available/
... View more
09-04-2015
07:17 AM
|
0
|
0
|
1062
|
BLOG
|
Die neue Generation der ArcGIS Runtime SDKs ist auf dem Weg und für die Plattformen Java, Android und iOS ist nun jeweils eine Beta 1 von dieser Version veröffentlicht worden. Das Quartz Release wird die bisher größten Änderungen und Neuerungen in den Runtime SDKs bringen. Es ist von Grund auf mit einer neuen Architektur erstellt worden und wird eine bessere Konsistenz zwischen den einzelnen Runtime SDKs mit sich bringen. Die Unterstützung von 3D Daten in der Karte ist das besondere Highlight im neuen Quartz-Release. Neuerungen im ArcGIS Runtime SDK for Java sind u.a. die Trennung von Map und MapView, eine bessere Portal-Integration und die Verwendung von Graphics in Overlays. Alle Neuerungen findet man hier: https://developers.arcgis.com/java/beta/guide/release-notes-java.htm Das Beta 1 hat im Moment noch einen reduzierten Funktionsumfang. Nicht verfügbar sind dabei die Offline-Funktionalitäten (kommt in Beta 2), Routing, Geocoding und Analysen, sowie Tasks wie Query, Find und Identify. Dies wird bis zum Final Release nach und nach wieder hinzukommen. Weitere Informationen unter: http://blogs.esri.com/esri/arcgis/2015/08/26/quartz-beta-1-is-now-available/
... View more
09-04-2015
07:16 AM
|
0
|
0
|
1056
|
BLOG
|
Bei der neuen Version 10.2.6 des SDKs handelt es sich um ein kleineres Update, das funktional keine bedeutenden Neuerungen enthält, sondern nur einige kleinere Verbesserungen und Bugfixes. Die erforderliche Android Version für das SDK ist 4.0.1 (API Level 14). Die empfohlene Entwicklungsumgebung ist das Android Studio. Weitere Informationen auch unter: http://blogs.esri.com/esri/arcgis/2015/05/26/10-2-6-update-for-arcgis-runtime-sdk-for-android-now-available/ Das ArcGIS Runtime SDK for Android 10.2.6 ist hier erhältlich: https://developers.arcgis.com/android/
... View more
06-01-2015
02:00 AM
|
0
|
0
|
991
|
BLOG
|
In manchen Fällen hat man die Anforderung, dass man in einem Widget auf Informationen eines anderen Widgets zugreifen muss. Dann stellt sich die Frage, wie man die Daten aus dem einen Widget für ein anderes Widget verfügbar machen kann. Für diesen Anwendungsfall verfügt ein Widget über die Funktionen publishData(), fetchData(), fetchDataByName(), onReceiveData() und onNoData(). Diese Funktionen übernimmt ein eigenes Widget automatisch von BaseWidget. Um die Verwendung dieser Funktionen besser zu verstehen, schauen wir uns dies an einem ganz einfachen Beispiel mit zwei Widgets an. Das erste Widget mit Namen SetLocation dient zur Eingabe einer X/Y-Koordinate, auf die die Karte zentriert werden kann: Das zweite Widget mit Namen GetLocation soll einfach diese X/Y-Koordinate wieder anzeigen: Wie kommen nun die Koordinatenwerte in das zweite Widget? In dem Widget, das die Daten sendet, also SetLocation, werden die Koordinatenwerte in zwei Input-Felder eingetragen und in einer Funktion, die über das Anklicken des Buttons aufgerufen wird, ausgelesen. Wenn man mehrere Einzeldaten hat, kann man diese dann z.B. in einem JSON-String zusammenfassen. Um diese Daten nun für andere Widgets verfügbar zu machen, wird die Funktion publishData() aufgerufen und dieser die Daten übergeben: In dem Widget, das die Daten empfangen soll, also in GetLocation, werden die Daten mit der Funktion fetchData(widgetId) abgerufen. Die Funktion kann z.B. in der Methode startUp() aufgerufen werden: Der Parameter widgetId ist dabei die ID des Widgets, das die Daten sendet (hier SetLocation), so wie sie in der Konfigurationsdatei config.json der App eingetragen wurde. Sind Daten zum Empfang vorhanden, so werden diese in der Eventhandler-Funktion onReceiveData() zur Verfügung gestellt, die man in dem empfangenden Widget bereitstellen muss. Sind keine Daten vorhanden, wird die Eventhandler-Funktion onNoData() aufgerufen. In der Funktion onReceiveData() werden die übertragenen Daten als Parameter übergeben, sodass man sie hier verwenden kann, z.B. um sie in dem Widget anzuzeigen. Zusammenfassend noch einmal der Ablauf: 1) Im sendenden Widget die Daten mit der Funktion publishData() bereitstellen. 2) Im empfangenden Widget die Daten über die Funktion fetchData() abfragen und in der Funktion onReceiveData() auslesen und verwenden. Happy coding!
... View more
05-07-2015
02:40 AM
|
0
|
0
|
1104
|
BLOG
|
In bestimmten Fällen kann es gewünscht sein, dass man in einer Web App aus einem eigenen Widget heraus wieder ein anderes Widget oder mehrere andere Widgets öffnen kann. D.h. in dem einen Widget befindet sich z.B. ein Button, über den man beim Anklicken ein anderes Widget öffnet, wie in der folgenden Abbildung gezeigt: Durch Anklicken des Buttons in dem ersten Widget öffnet sich dann das zweite Widget: Um dies zu erreichen, muss zuerst im ersten Widget ein Button mit einem entsprechenden Icon angelegt werden. Den Button kann man z.B. in der Datei Widget.js in der Methode startup() wie folgt anlegen: Dabei wird über DoJo-Funktionen dynamisch ein HTML-DIV Element und ein darin enthaltenes IMG Element angelegt. In einer Eventhandlermethode wird auf das Anklicken des Buttons reagiert und darin eine Funktion aufgerufen, die das zweite Widget aufruft: Hier wird zuerst die Widget-Konfiguration des zu öffnenden Widgets ermittelt und dann über den PanelManager das Widget über die Funktion showPanel() aufgerufen. Zu beachten ist dabei, dass der PanelManager im define-Block des Widgets aufgenommen wird. Happy coding!
... View more
04-30-2015
06:22 AM
|
3
|
1
|
1089
|
Title | Kudos | Posted |
---|---|---|
1 | 12-18-2013 11:10 PM | |
1 | 12-17-2013 03:56 AM | |
1 | 12-16-2013 05:38 AM | |
3 | 05-18-2018 02:48 AM | |
1 | 02-02-2017 04:39 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|