Table of Contents

Laboratorul 06. ArcGIS Maps SDK for Java

Obiective laborator

Java

Java este un limbaj folosit în dezvoltarea aplicațiilor desktop/web enterprise pe scară largă. Este și limbajul de bază în dezvoltarea aplicațiilor mobile Android.

Pentru cei care au nevoie de o introducere în Java, găsiți tutoriale la următoarele adrese:

Pentru a scrie o aplicație în Java cu ArcGIS Maps SDK sunt necesare:

Setup

În următoarele etape este prezentat modul de lucru și setup-ul necesar pentru dezvoltarea aplicațiilor Java folosind ArcGIS Maps SDK for Java. https://developers.arcgis.com/java/

Pentru un setup rapid, vom porni de la un proiect starter configurat cu Gradle: https://github.com/Esri/java-gradle-starter-project

Instalare

Descărcați Java 17 (se poate face ulterior din IntelliJ)

https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html

Descărcați proiectul starter: https://github.com/Esri/java-gradle-starter-project

Proiectul are la bază JavaFX. Acest framework permite realizarea aplicațiilor Java portabile, cu interfață grafică accelerată hardware. Mai multe informații despre JavaFX găsiți la următoarele adrese:

Configurare

Configurați IntelliJ să folosească Java 17

File > Settings > Build, Execution, Deployment > Build Tools > Gradle

Proiectul este configurat prin Gradle. Acesta va descărca și instala automat dependențele proiectului specificate în fișierul build.gradle.

Configurați IntelliJ să folosească Java 17.

Urmăriți indicațiile pentru configurarea proiectului în IntelliJ din: https://github.com/Esri/java-gradle-starter-project

Pentru mai multe exemple, puteți descărca repo-ul de aici: https://github.com/Esri/arcgis-runtime-samples-java/tree/main

  • Atenție: Este foarte mare - nu se recomandă descărcarea în timpul orei de laborator
  • În repository este de fapt o colecție de proiecte.
  • Deschideți proiectul /map/display-map din IntelliJ (File > Open)

Compilare și rulare

Deschideți proiectul starter.

Deschideți meniul Gradle: View > Tool Windows > Gradle

Rulați task-ul Gradle pentru compilarea și rularea aplicației:

Adăugați API key-ul din ArcGIS Developer pentru inițializarea aplicației:

String yourAPIKey = "my-api-key";
ArcGISRuntimeEnvironment.setApiKey(yourAPIKey);

Setup finalizat

Felicitări! Ați configurat mediul de dezvoltare pentru lucrul cu ArcGIS în Java. Acum este timpul pentru implementarea funcționalităților aplicației de laborator.

Task

Task 1. Map Viewer

Urmăriți tutorialul ArcGIS Maps SDK for Java.

Creați o aplicație Java care să includă următoarele funcționalități:

[Lab 7] Task 2. Scene Viewer

[Lab 7] Task 3. Funcționalități adiționale

if (routeStopsSize == 2) {
    // remove the mouse clicked event if two stops have been added
    mapView.setOnMouseClicked(null);
    routeParameters.setStops(routeStops);
 
    // get the route and display it
    ListenableFuture < RouteResult > routeResultFuture = routeTask.solveRouteAsync(routeParameters);
    routeResultFuture.addDoneListener(() - > {
        try {
            RouteResult result = routeResultFuture.get();
            List < Route > routes = result.getRoutes();
 
            if (!routes.isEmpty()) {
                Route route = routes.get(0);
                Geometry shape = route.getRouteGeometry();
                routeGraphic = new Graphic(shape, new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, 0xff0000ff, 2));
                graphicsOverlay.getGraphics().add(routeGraphic);
 
                // get the direction text for each maneuver and display it as a list in the UI
                route.getDirectionManeuvers().forEach(step - > directionsList.getItems().add(step.getDirectionText()));
                // reset stops and re-enable mapview interactions once the route task has completed
                routeStops.clear();
                addStopsOnMouseClicked();
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    });
}

Resurse