Differences

This shows you the differences between two versions of the page.

Link to this comparison view

isi:laboratoare:02 [2024/10/06 21:54]
alexandru.predescu
isi:laboratoare:02 [2024/10/20 16:17] (current)
alexandru.predescu
Line 1: Line 1:
-===== Laboratorul ​03. ArcGIS JavaScript ​API ===== +===== Laboratorul ​02Aplicație web cu ArcGIS ​în JavaScript =====
- +
-Integrarea datelor geospațiale. ArcGIS JavaScript API+
  
 ==== Obiective laborator ==== ==== Obiective laborator ====
-  * Familiarizare cu servicii de date în ArcGIS +  ​* Introducere în realizarea aplicațiilor web configurabile cu ArcGIS Instant Apps builder 
-     * Un feature layer poate fi expus ca printr-un serviciu web (feature service)+  ​* Familiarizare cu servicii de date în ArcGIS, ex. un feature layer poate fi expus printr-un serviciu web (feature service)
   * Introducere în ArcGIS for Developers   * Introducere în ArcGIS for Developers
-  * Familiarizare cu ArcGIS JavaScript ​API +  * Familiarizare cu ArcGIS ​Maps SDK for JavaScript 
-  * Înțelegerea modului de realizare ​unei aplicații web cu JavaScript API + 
-  * Înțelegerea modului ​de integrare a funcționalităților ArcGIS interactive +==== ArcGIS Instant Apps builder ==== 
-  * Familiarizare cu serviciile avansate din ArcGIS + 
-    * Serviciul de rutare +Pentru ​înțelege mai bine ce presupune o aplicație web ArcGIS, vom porni de la harta creată anterior și funcția **Create app > Instant Apps** disponibilă în Map Viewer 
-    * Serviciul ​de căutare locațiilor+ 
 +{{:​isi:​laboratoare:​lab1:​create_web_app.png?​400|}} 
 + 
 +Selectați modelul Basic, configurați componentele incluse, apoi publicați aplicația web și copiați link-ul generat într-o fereastra ​de browser. 
 + 
 +{{:​isi:​laboratoare:​lab1:​create_web_app_publish.png?​400|}} 
 + 
 +Aceasta este o metodă simplă și rapidă de crea aplicații web folosind portalul ArcGIS, dar nu este cea mai versatilă în cazul aplicațiilor ​mai complexe, cu funcționalități și integrări specifice. Enter ArcGIS for Developers:
  
 ==== ArcGIS for Developers ==== ==== ArcGIS for Developers ====
  
-Pentru a folosi ​API-urile ArcGIS, aveți nevoie de un API KEY generat pe contul [[https://developers.arcgis.com/dashboard/​|ArcGIS ​Developer]].+Pentru a dezvolta o aplicație web folosind direct SDK-ul și API-urile ArcGIS, aveți nevoie de un API KEY generat pe contul [[https://location.arcgis.com/​|Location ​ArcGIS]].
  
-<note important>​ 
-Pentru a accesa contul ArcGIS Developer, se poate transforma contul public în cont de developer, fără costuri suplimentare (în loc să creați un cont free trial care expiră). 
-</​note>​ 
  
 {{:​isi:​laboratoare:​lab3:​apikey.png?​600|}} {{:​isi:​laboratoare:​lab3:​apikey.png?​600|}}
Line 28: Line 30:
 JavaScript este un limbaj de programare aparent simplu (se poate face rapid o aplicație simplă, rulează în browser, nu necesită un toolkit avansat) dar în același timp complex (programare asincronă, multi-paradigmă). Există numeroase framework-uri de JavaScript pentru dezvoltarea aplicațiilor web, atât pe partea de front end (Angular, Vue, React), cât și de back end (Node.js). JavaScript este un limbaj de programare aparent simplu (se poate face rapid o aplicație simplă, rulează în browser, nu necesită un toolkit avansat) dar în același timp complex (programare asincronă, multi-paradigmă). Există numeroase framework-uri de JavaScript pentru dezvoltarea aplicațiilor web, atât pe partea de front end (Angular, Vue, React), cât și de back end (Node.js).
  
-Pentru acest laborator, vom realiza o aplicație simplă în browser, folosind ​API-ul de JavaScript pentru ​ArcGIS, și un tutorial pas cu pas. Nu sunt necesare cunoștințe avansate de JavaScript, dar pentru o mai bună înțelegere a limbajului de programare și a modului de organizare a unei aplicații web, puteți consulta tutoriale disponibile online:+Pentru acest laborator, vom realiza o aplicație simplă în browser, folosind ​SDK-ul ArcGIS ​pentru JavaScript, și un tutorial pas cu pas. Nu sunt necesare cunoștințe avansate de JavaScript, dar pentru o mai bună înțelegere a limbajului de programare și a modului de organizare a unei aplicații web, puteți consulta tutoriale disponibile online:
  
   * [[https://​www.freecodecamp.org/​news/​html-css-and-javascript-explained-for-beginners/​|Learn Web Development Basics – HTML, CSS, and JavaScript Explained for Beginners]]   * [[https://​www.freecodecamp.org/​news/​html-css-and-javascript-explained-for-beginners/​|Learn Web Development Basics – HTML, CSS, and JavaScript Explained for Beginners]]
Line 35: Line 37:
 <note important>​Rareori aplicațiile web  de complexitate medie sunt scrise direct în JavaScript. De regulă se folosesc framework-uri pentru a gestiona structura și funcționalitățile generale ale aplicațiilor,​ dar toate acestea au la bază o cunoaștere bună a limbajului.</​note>​ <note important>​Rareori aplicațiile web  de complexitate medie sunt scrise direct în JavaScript. De regulă se folosesc framework-uri pentru a gestiona structura și funcționalitățile generale ale aplicațiilor,​ dar toate acestea au la bază o cunoaștere bună a limbajului.</​note>​
  
-<note tip>API-ul de JavaScript pentru ArcGIS este folosit pentru a crea aplicații web customizabile,​ independente de tipul de browser folosit. ​API-ul este bazat pe Dojo, un toolkit care permite realizarea aplicațiilor modulare.</​note> ​+<note tip>SDK-ul de JavaScript pentru ArcGIS este folosit pentru a crea aplicații web customizabile,​ independente de tipul de browser folosit. ​Are la bază framework-ul Dojo, un toolkit care permite realizarea aplicațiilor modulare.</​note> ​
  
 === Dojo === === Dojo ===
  
-API-ul ArcGIS are la bază toolkit-ul Dojo și este construit pe bază de module ce suportă încărcare modulară dinamică (AMD) prin require.js.+SDK-ul ArcGIS are la bază toolkit-ul Dojo și este construit pe bază de module ce suportă încărcare modulară dinamică (AMD) prin require.js.
  
 <note tip>​Găsiți [[https://​dojotoolkit.org/​documentation/​tutorials/​1.10/​modules/​|aici]] informații suplimentare din documentația Dojo</​note>​ <note tip>​Găsiți [[https://​dojotoolkit.org/​documentation/​tutorials/​1.10/​modules/​|aici]] informații suplimentare din documentația Dojo</​note>​
Line 45: Line 47:
 ==== Setup aplicație web ==== ==== Setup aplicație web ====
  
-Pentru a începe lucrul cu JavaScript ​API, găsiți aici un setup minimal pentru a afișa o hartă: [[https://​developers.arcgis.com/​javascript/​latest/​display-a-map/​|Display a map]]+Pentru a începe lucrul cu ArcGIS Maps SDK for JavaScript, găsiți aici un setup minimal pentru a afișa o hartă: [[https://​developers.arcgis.com/​javascript/​latest/​display-a-map/​|Display a map]]
  
 Structura aplicației ArcGIS are la bază sistemul modular bazat pe Dojo: Structura aplicației ArcGIS are la bază sistemul modular bazat pe Dojo:
Line 70: Line 72:
 În proiecte mai complexe, separarea fișierelor (.html, .css, .js) permite o mai bună organizare a aplicației,​ și facilități de formatare și verificare a sintaxei în cazul folosirii unui IDE (de ex. [[https://​code.visualstudio.com/​|Visual Studio Code]]).</​note>​ În proiecte mai complexe, separarea fișierelor (.html, .css, .js) permite o mai bună organizare a aplicației,​ și facilități de formatare și verificare a sintaxei în cazul folosirii unui IDE (de ex. [[https://​code.visualstudio.com/​|Visual Studio Code]]).</​note>​
  
- 
-==== Servicii ArcGIS (avansate) == 
- 
-ArcGIS pune la dispoziție o multitudine de servicii interactive ce pot fi integrate în aplicații web folosind JavaScript API: [[https://​developers.arcgis.com/​documentation/​mapping-apis-and-services/​|Mapping APIs and location services]] 
- 
-=== Rutare === 
-Se poate folosi serviciul de rutare pentru calcularea rutelor și afișarea indicațiilor de navigație (este necesar contul de developer și API key-ul generat) 
-[[https://​developers.arcgis.com/​documentation/​mapping-apis-and-services/​routing/​services/​routing-service/​|Routing service]] 
- 
-Testați serviciul de rutare în CodePen, folosind API key-ul generat în laboratorul anterior. 
- 
-=== Căutare locații === 
-Pentru căutarea locațiilor dintr-o arie geografică se poate folosi serviciul [[https://​developers.arcgis.com/​documentation/​mapping-apis-and-services/​search/​place-search/​|Place search]]. Acesta poate returna locații după categorie (ex. cafenea), nume (ex. Starbucks), adresă, sau coordonate (lat, lng). 
  
  
Line 89: Line 78:
 === Inițializare hartă === === Inițializare hartă ===
  
-Inițializați aplicația și afișați harta folosind ​API-ul de JavaScript:+Inițializați aplicația și afișați harta folosind ​ArcGIS Maps SDK for JavaScript:
  
 https://​developers.arcgis.com/​javascript/​latest/​display-a-map/​ https://​developers.arcgis.com/​javascript/​latest/​display-a-map/​
Line 127: Line 116:
 <note tip>​Folosind modulul ''​esri/​layers/​GeoJSONLayer''​ se pot integra layere din surse externe, fără a fi necesară crearea unui FeatureLayer pe platforma ArcGIS. Fișierul GeoJSON poate fi hostat pe un server, independent de platforma ArcGIS.</​note>​ <note tip>​Folosind modulul ''​esri/​layers/​GeoJSONLayer''​ se pot integra layere din surse externe, fără a fi necesară crearea unui FeatureLayer pe platforma ArcGIS. Fișierul GeoJSON poate fi hostat pe un server, independent de platforma ArcGIS.</​note>​
  
 +/**
 Nu avem încă un server separat, dar dorim să integrăm un layer dintr-un fișier. Vom importa mai întâi un layer din formatul GeoJSON în ArcGIS Developer. Încărcați layer-ul din fișierul ''​Trails.geojson''​ descărcat anterior (sau de {{:​isi:​laboratoare:​lab3:​la_hub_datasets.zip|aici}}) în contul ArcGIS Developer: https://​developers.arcgis.com/​layers/​ Nu avem încă un server separat, dar dorim să integrăm un layer dintr-un fișier. Vom importa mai întâi un layer din formatul GeoJSON în ArcGIS Developer. Încărcați layer-ul din fișierul ''​Trails.geojson''​ descărcat anterior (sau de {{:​isi:​laboratoare:​lab3:​la_hub_datasets.zip|aici}}) în contul ArcGIS Developer: https://​developers.arcgis.com/​layers/​
  
Line 138: Line 128:
  
 <note important>​Serviciile hostate pe contul vostru de ArcGIS Developer sunt gratuite în limitele definite pe pagina de [[https://​developers.arcgis.com/​pricing/​|Pricing]]</​note>​ <note important>​Serviciile hostate pe contul vostru de ArcGIS Developer sunt gratuite în limitele definite pe pagina de [[https://​developers.arcgis.com/​pricing/​|Pricing]]</​note>​
 +
 +**/
  
 === Configurare layere === === Configurare layere ===
Line 160: Line 152:
 Adăugați un layer dintr-una din aplicațiile realizate în laboratoarele anterioare și adaptați aplicația web construită anterior. Adăugați un layer dintr-una din aplicațiile realizate în laboratoarele anterioare și adaptați aplicația web construită anterior.
  
-<note tip>Un Feature Layer poate fi partajat în secțiunea Content ca resursă web. Urmăriți secțiunea [[https://​developers.arcgis.com/​javascript/​latest/​layers-and-data/​|Layers and Data]] pentru adăugarea unui layer folosind JavaScript ​API:+<note tip>Un Feature Layer poate fi partajat în secțiunea Content ca resursă web. Urmăriți secțiunea [[https://​developers.arcgis.com/​javascript/​latest/​layers-and-data/​|Layers and Data]] pentru adăugarea unui layer folosind ​ArcGIS Maps SDK for JavaScript:
  
 <file javascript>​ <file javascript>​
isi/laboratoare/02.1728240872.txt.gz · Last modified: 2024/10/06 21:54 by alexandru.predescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0