Differences

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

Link to this comparison view

isi:laboratoare:03 [2024/10/06 21:57]
alexandru.predescu [Task]
isi:laboratoare:03 [2024/10/22 09:45] (current)
sorin.ciolofan [Servicii ArcGIS avansate]
Line 1: Line 1:
-===== Laboratorul 03. Servicii ​ArcGIS ​avansate =====+===== Laboratorul 03. Integrarea funcțională. Servicii ​GIS avansate =====
  
 +Integrarea funcțională presupune fie apelarea unor servicii web / API-uri, instalarea unor pachete / SDK-uri, sau chiar utilizarea unui Framework ca structură generală a aplicației. În acest laborator, vom folosi în continuare SDK-ul ArcGIS pentru JavaScript, la care vom adăuga servicii avansate disponibile pe bază de API-uri. Apoi vom face setup-ul pentru un proiect realizat în framework-ul Angular, unde vom integra harta și alte funcționalități separate de ArcGIS.
  
 ==== Obiective laborator ==== ==== Obiective laborator ====
-  * Familiarizare cu ArcGIS JavaScript ​API +  * Familiarizare cu ArcGIS ​Maps SDK for JavaScript
-  * Înțelegerea modului de realizare a unei aplicații web cu JavaScript API+
   * Înțelegerea modului de integrare a funcționalităților ArcGIS interactive   * Înțelegerea modului de integrare a funcționalităților ArcGIS interactive
   * Familiarizare cu serviciile avansate din ArcGIS   * Familiarizare cu serviciile avansate din ArcGIS
     * Serviciul de rutare     * Serviciul de rutare
     * Serviciul de căutare a locațiilor     * Serviciul de căutare a locațiilor
 +  * Familiarizare cu structura unei aplicații într-un framework web (Angular)
  
 ==== Servicii ArcGIS avansate == ==== 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]]+ArcGIS pune la dispoziție o multitudine de servicii interactive ce pot fi integrate în aplicații web folosind ​ArcGIS Maps SDK: [[https://​developers.arcgis.com/​documentation/​mapping-apis-and-services/​|Mapping APIs and location services]]
  
 === Rutare === === 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) 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]]+[[https://​developers.arcgis.com/​javascript/latest/​tutorials/​find-a-route-and-directions/|Routing service]]
  
 Testați serviciul de rutare în CodePen, folosind API key-ul generat în laboratorul anterior. Testați serviciul de rutare în CodePen, folosind API key-ul generat în laboratorul anterior.
  
 === Căutare locații === === 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).+Pentru căutarea locațiilor dintr-o arie geografică se poate folosi serviciul [[https://​developers.arcgis.com/​javascript/latest/tutorials/find-places/|Place search]]. Acesta poate returna locații după categorie (ex. cafenea), nume (ex. Starbucks), adresă ​[[https://​developers.arcgis.com/​javascript/​latest/​tutorials/​search-for-an-address/​|Address search]], sau coordonate (lat, lng).
  
  
Line 34: Line 35:
 Adăugați toate resursele specificate în tutorial. Adăugați toate resursele specificate în tutorial.
  
 +<note tip>​Sugestie:​ folosiți aplicația realizată în laboratorul anterior.</​note>​
  
-<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:+**Task 2**
  
-<file javascript>​ +Realizați setup-ul proiectului Angular de mai jospe care îl vom folosi în laboratorul următorVerificați că aplicația rulează în browser fără erori:
-var layer = new FeatureLayer({ +
-  portalItem: { +
-    id: "​883cedb8c9fe4524b64d47666ed234a7"​// my-layer-id +
-    portal: "​https://​www.arcgis.com" // DefaultThe ArcGIS Online Portal +
-  } +
-});+
  
-map.layers.add(layer);+  * se încarcă interfața?​ 
 +  * se încarcă harta? (dacă nu, identificați cauza și modificați codul .ts al paginii în care este afișată)
  
-</file></​note>​+<​note>​Pentru a verifica dacă există erori la runtime, deschideți consola de developer (F12 sau click dreapta: inspect), apoi selectați tab-ul Console. 
 +</note> 
 + 
 + 
 +==== Setup local pentru dezvoltare aplicații web cu Angular ==== 
 + 
 +<​note>​Descărcați proiectul de pe GitHub: [[https://​github.com/​alexp25/​AngularDemoArcGIS|AngularDemoArcGIS]]</​note>​ 
 + 
 +==== Setup și instalare proiect minimal cu Angular ==== 
 + 
 +Pentru început am lucrat în CodePen. În laboratorul următor, dorim să realizăm un proiect mai complex și vom lucra pe mașina locală. Avem nevoie de câteva tool-uri înainte de a începe. 
 + 
 +=== Instalare Node.js și NPM === 
 + 
 +Instalați versiunea LTS de aici, dacă nu aveți deja instalat Node.js: https://​nodejs.org/​en/​ 
 + 
 +<note important>​Pentru a păstra compatibilitatea cu proiectul existent, recomandăm versiunea [[https://​nodejs.org/​en/​blog/​release/​v16.15.1/​|Node v16.15.1 (LTS)]], dar este posibil să meargă și cu versiunea actuală LTS</​note>​ 
 + 
 +=== Instalare dependențe globale === 
 + 
 +PowerShell 
 +<​code>​ 
 +npm install -g @angular/​cli 
 +</​code>​ 
 + 
 +/​*PowerShell Administrator 
 +<​code>​ 
 +npm install -g windows-build-tools 
 +</​code>​ 
 + 
 +<note warning>​Dacă terminalul rămâne blocat după ce s-a instalat python, se poate închide (ctrl+c)</​note>​*/​ 
 + 
 +https://​angular.io/​guide/​setup-local 
 + 
 +=== Instalare dependențe locale === 
 + 
 +În folder-ul dezarhivat pe care l-ați descărcat anterior, deschideți un terminal (e.g. PowerShell, shift+click dreapta / Open PowerShell window here) și rulați comanda: 
 + 
 +<​code>​ 
 +npm install 
 +</​code>​ 
 + 
 +=== Compilare și rulare proiect === 
 + 
 +Pentru a împacheta proiectul și a deschide un server local, ne folosim de toolkit-ul Angular (ng serve). Putem folosi următoarea comandă definită în configurarea proiectului (package.json) 
 + 
 +<​code>​ 
 +npm run start 
 +</​code>​ 
 + 
 +Dacă totul este ok (nu sunt erori în cod și toate dependențele au fost instalate corect), se va deschide un server pe portul 4200. 
 + 
 +Deschideți browser-ul la adresa: http://​localhost:​4200/​
  
-<note tip>​Găsiți id-ul unui Feature Layer din secțiunea Content, în URL: 
-https://​www.arcgis.com/​home/​item.html?​id=<​my-layer-id></​note>​*/​ 
  
 ==== Resurse ==== ==== Resurse ====
  
-  * {{:​isi:​laboratoare:​lab3:​la_hub_datasets.zip|LA_Hub_Datasets.zip}} 
  
isi/laboratoare/03.1728241075.txt.gz · Last modified: 2024/10/06 21:57 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