From 07abcf5b99e11d65c284cf420d17155ccc6b5dc7 Mon Sep 17 00:00:00 2001
From: kyro <46943169+kyro95@users.noreply.github.com>
Date: Thu, 20 Oct 2022 17:27:52 +0200
Subject: [PATCH] Fix layers descriptions and markers in 'Map Layers' Component

---
 .gitignore                                    |   1 +
 angular.json                                  |   3 +-
 src/app/pages/map-layers/map/map.component.ts |  64 ++++++----
 .../simulations/simulations.module.ts         |   3 +-
 src/assets/img/markers/layers-2x.png          | Bin 0 -> 1259 bytes
 src/assets/img/markers/layers.png             | Bin 0 -> 696 bytes
 src/assets/img/markers/marker-icon-2x.png     | Bin 0 -> 2586 bytes
 src/assets/img/markers/marker-icon.png        | Bin 0 -> 1466 bytes
 src/assets/img/markers/marker-shadow.png      | Bin 0 -> 618 bytes
 .../messina_cycling_paths.json                | 118 +++++++++++++++++-
 .../map/map-component-maps/messina_pois.json  |  27 +---
 11 files changed, 167 insertions(+), 49 deletions(-)
 create mode 100644 src/assets/img/markers/layers-2x.png
 create mode 100644 src/assets/img/markers/layers.png
 create mode 100644 src/assets/img/markers/marker-icon-2x.png
 create mode 100644 src/assets/img/markers/marker-icon.png
 create mode 100644 src/assets/img/markers/marker-shadow.png

diff --git a/.gitignore b/.gitignore
index 9da0696d..af5d4ec5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -41,3 +41,4 @@ testem.log
 Thumbs.db
 
 debug.log
+src/app/pages/simulation-wizard/single-map-jsi/single-map-jsi.component.ts
diff --git a/angular.json b/angular.json
index 03d530a8..ed95dbae 100644
--- a/angular.json
+++ b/angular.json
@@ -47,7 +47,8 @@
               "node_modules/leaflet-timedimension/dist/leaflet.timedimension.control.css",
               "node_modules/leaflet.awesome-markers/dist/leaflet.awesome-markers.css",
               "node_modules/leaflet.markercluster/dist/MarkerCluster.Default.css",
-              "node_modules/leaflet-draw/dist/leaflet.draw.css"
+              "node_modules/leaflet-draw/dist/leaflet.draw.css",
+              
             ],
             "scripts": [
               "node_modules/pace-js/pace.min.js",
diff --git a/src/app/pages/map-layers/map/map.component.ts b/src/app/pages/map-layers/map/map.component.ts
index a3123039..97494085 100644
--- a/src/app/pages/map-layers/map/map.component.ts
+++ b/src/app/pages/map-layers/map/map.component.ts
@@ -138,6 +138,20 @@ export class MapComponent implements OnInit {
       console.log("CHARGE LAYER-> " + clickedLayerName)
       if (clickedLayerName !== "Bilbao Sound") {
         this.map.addLayer(geojsonLayer);
+
+        //pointToLayer icon
+        geojsonLayer.eachLayer((layer: L.Layer) => {
+          if (layer instanceof L.Marker) {
+            layer.setIcon(L.icon({
+              iconUrl: 'assets/img/markers/marker-icon.png',
+              iconSize: [25, 41],
+              iconAnchor: [12, 41],
+              popupAnchor: [1, -34],
+              shadowSize: [41, 41]
+            }));
+          }
+        });
+
         this.map.fitBounds(geojsonLayer.getBounds(), {
           padding: [50, 50]
         });
@@ -180,31 +194,39 @@ export class MapComponent implements OnInit {
 
   }
 
-  public getLayer(title, l): L.GeoJSON {
-    let layer = L.geoJSON(l,
-      {
-        onEachFeature: (feature, layer) => {
-          let text = "";
-          for (let p in feature.properties) {
-            text += `${p}: ${feature.properties[p]}\n`;
-          }
-          layer.bindPopup(text);
-        },
-        style: function () {
-          if (title == '2020')
-            return { color: '#248175', weight: 7, opacity: 0.8 }
-          else
-            return { color: "#880808", weight: 5, opacity: 0.8 }
-        }
-      },
-    )
-      .on('popupclose', ($event) => {
-      })
+  icon = new L.Icon({
+    iconSize: [25, 41],
+    iconAnchor: [13, 41],
+    iconUrl: 'assets/img/markers/marker-icon.png',
+    iconRetinaUrl: 'assets/img/markers/marker-icon-2x.png',
+    shadowUrl: 'assets/img/markers/marker-shadow.png'
+  });
 
-    layer['_id'] = title;
+  public getLayer(title: string, l) {
+    let layer = L.geoJSON(l, {
+      onEachFeature: (feature, layer) => {
+        layer.bindPopup(this.getPopupContent(title, feature))
+      },
+    });
     return layer;
   }
 
+  // Bind icons 
+  public getPopupContent(title: string, feature) {
+    let content = "<h3>" + title + "</h3>";
+    if (feature.properties) {
+      for (var p in feature.properties) {
+        content += "<p>" + p + ": " + feature.properties[p] + "</p>";
+      }
+    }
+
+    if(feature.coordinates) {
+      content += "<p>Coordinates: " + feature.coordinates + "</p>";
+    }
+
+    return content;
+  }
+
   getLegendColor(v: number) {
     let color = 'green';
     if (v == 0.0) {
diff --git a/src/app/pages/simulation-wizard/simulations/simulations.module.ts b/src/app/pages/simulation-wizard/simulations/simulations.module.ts
index eb45571a..5219d476 100644
--- a/src/app/pages/simulation-wizard/simulations/simulations.module.ts
+++ b/src/app/pages/simulation-wizard/simulations/simulations.module.ts
@@ -1,10 +1,9 @@
 import { NgModule } from '@angular/core';
 import { CommonModule } from '@angular/common';
-import { LeafletComponent } from '../../maps/leaflet/leaflet.component'
 import { MapsModule } from '../../maps/maps.module'
 
 @NgModule({
-  declarations: [LeafletComponent],
+  declarations: [],
   imports: [
     CommonModule,
     MapsModule
diff --git a/src/assets/img/markers/layers-2x.png b/src/assets/img/markers/layers-2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..200c333dca9652ac4cba004d609e5af4eee168c1
GIT binary patch
literal 1259
zcmeAS@N?(olHy`uVBq!ia0y~yU@!q;4i*LmhWx_I2@DJ@n><|{Ln;`Pe)y|<v`zE6
z<`rfYVRE=E+<w8gO%1uyy^AaQX3k_eeugK>cT4BSrpMM7AKE|dn|XR+k!t#k(tv`Q
zFW(sEd!8~#>$+9`f9l__#fF!KZ}B_rzo8eC{r}xGzO@x)!A}C+%Y(`<1s-2^LiGH-
zNefThzU1_3Qe}!q>B&sRiQ8E#H9j`Wp1zeElOM1<_xPqG{7q&i{}sRA|NWDBa`yhi
zf4~1}Z!&l?D{`K~v~Df`g0pk31-#L={QUP&^~BTfPt276eJZ4F#<Vr}OLp%G)4MzG
ztF*A$PQ}~huWqeNiHx1TxHA3oIlcBTF`IT>OLLkrWm<1w?G}$K(_Zg>&?>%<J9lRg
zyYMzcFSi*j)1qeYS!8_q{pX~Jy7=^EcOtWeIfdJV?C$K_6Kj{8z4Ghb4~I1F_fET&
zw{rj8ZMBt$+BYdKbN!h<KUnP1jN|pUxOe_pe%tob6}#o1_=VGCiq2_yoBTWwG@GyM
z>7rSDWy?-oPVGDw+3f6ddKzommMznMtmE1m^mE;|X)^@3r5^M>q%(7WwwkhRUVZzX
zFui*B_UL;{ERE{7ySzCa{A5c-^`03^s-Cnw)fD`#!?J7Jk{=GMTBd1ws=RS{H7RMA
z+lH2N3m&&zxMt!%-Q)BVRe@_$r#$1#RlV@>f}~i)v%B7(D}^uiKE0`=J9&~rL}git
za^vjh=XaOCc>eeO>kuD~_nyZSSrR*<FYWAgIQoBI-h&knIdzX-mgYUg^u)JXtv{OM
z;)gF;n!Nrz{CAiAUorp6!o_lB5s@D+EVEfuc<a=r;@RgOJ(Dk#=6_q~zW$Qo8Yi7s
z)uvp1zGW@KT<V?DTnqa{uD&bRS?wjIFU{xFEG?*@<N9(*nwO>HoRZ?^jT=9HS|#-C
z#I0=$9oqx1b}%c7@V%LR;e=gTTa&<X&yCs6&0BLj7F&Lu`gW0`c=5sX4V8Cho_(WK
z_PkGOWzPIy{h|`hoiW@Jx&IYq6BX7t^}h7rov&K9bo1>Q*O*Q|E%7{caZdK)_+ZJf
zZ?&H!g%0t3zQ`e9eahh1=NZBi3YOTd+htU}IKfpW%e~b`fYbPb(yyJ0eX|!$;Jmtc
zpGlI(Uq{=OPOf@MjvXyZfAUxkxkT|?T2R1T7_4W$NpIDXdncV=-Og(5O3XcC)5tQ>
zz+Ah^=e$i`pnF#TudS&IcRlWTsKE8W$-*hoo%u=2$;`|LE*k2wcM@{W?B28Hj1!|(
z?&`3_D`smL6xn7gD*L#dPAd}*D+qeymA_@1k^7b7fk)o?9(Qdv5?I?{*Qdo6H_a$Z
zWx4ILe&t;!1-}-TBu7TxOI@rh@5%8t*~M7);;#tq)bxD@K>`uh2LySGU20__qc2Mz
zz5e8&(8Q{b_nT$qIxJK3ZwNANm$G;z+!`QW&+ygqZIXsCQ=*b?Q`wxE@t%9{h$R(y
z`}7A0eZ8=B>r+-n=MV*-1+Ej;cKH>13)vbyyUbGSW~KP1V^g_>mQb1#clPCv9d}vs
ze&jIq>z1(p^?bgvyl$yv;<GImc>Vr)mizp0?3uUtD~sA1FSi+%x^t@XE}h@-tYzk9
zqoeJq#fQ#h%zQM#GO;LXnVpKdkC%5qo68}Ws3tQNA+-xadlV-caB*y5$@Ne<GexZU
bFaM^C#|uBoIzMG#U|{fc^>bP0l+XkKIZj$K

literal 0
HcmV?d00001

diff --git a/src/assets/img/markers/layers.png b/src/assets/img/markers/layers.png
new file mode 100644
index 0000000000000000000000000000000000000000..1a72e5784b2b456eac5d7670738db80697af3377
GIT binary patch
literal 696
zcmeAS@N?(olHy`uVBq!ia0y~yV2}b~4i*Lm24?3LR|W>AdQTU}kP61$5aS9JMv;5A
zx9={r3D-Qo$}jd-@Kme(q}h{gk8N9f^YEHSI?4X$wi&*^XXUqVf93n@6)G0|HB0O+
z{oGRd;!&;aKiPjre@~N1y8by_{oP(ApF5A&Z+bmlV3plXX<tV6s>Q4Q^(0Q+y~?G3
z!a`R6-Bzb}>nxoMS3g;|c>CL9(`O!9VDQ7}^1l9i({>+QJ4<j?!NqpV-Sa;@wm)9L
zbG+W};oLQLYYrV1^t!pQta?($^m)^L_AF>%7S^9P-Qtwc)jUmWjVlF-6H4cVyjqg@
zMm}=+<NHe<rmnhce8Mbd!jG-nZgwp9eH?$nNd4G;o7_#iZUy~~QhhglrsB334FMJ*
z@fHOR)*MUYCv`K|d2VYBZR;#rB;F=-*d<K!w$t?`)+^s$f27=VZ1;-!<_pwKXT?Na
z`S#k+>(G^1+f9<przIIod+^~5gQ4n@DU+PNFYMtBp1uC$l$Ec<&bmmeC5dP)cb#%X
zWm1x+m~m*&$s*s0vlsv9sGl=a%_P}kS>k%t3*NyNhGDITISixbZs=XtX?<#@#To^}
zllR&yC7Q0b2+Ufee$_3@VyDHEwjITj6hhx>ORdzOd~VN~YpdKO9dmD=@;Ir&?!Ka0
ze9@!>sms1^+w^n(%oWF3dR*t__<cB{GU3onMYUCu%rn+=UUTl5zH-NW4=2O6pzP_Y
z7hHoi48xY@9Es*O+;H#Xw8M!3ZQ9ay(f%eg*Oaydfb9LD>&0jzGw-8qqez~?-<4~x
zU6bljyRxA4^qUU`2YDx)`}y=x*@+KtSBac>;qcY?zuAd~x7`1fA4n|jeLTA^%I{0R
z&%u&I8&&`GCa_jieR-P2?K98qLyM^QzxM~_R<vo|Fy8)4-b`~5`=z_GeGCi?44$rj
JF6*2UngI0JPVN8z

literal 0
HcmV?d00001

diff --git a/src/assets/img/markers/marker-icon-2x.png b/src/assets/img/markers/marker-icon-2x.png
new file mode 100644
index 0000000000000000000000000000000000000000..e4abba3b511d14752426e8cbadae03c1e5fe15fb
GIT binary patch
literal 2586
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
PFfe$!`njxgN@xNAcp^*9

literal 0
HcmV?d00001

diff --git a/src/assets/img/markers/marker-icon.png b/src/assets/img/markers/marker-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..950edf24677ded147df13b26f91baa2b0fa70513
GIT binary patch
literal 1466
zcmeAS@N?(olHy`uVBq!ia0y~yV31^BV9?}XV_;x7FuCa*0|RTLr;B4q1>@Rq<_XD>
zB4=;4Zhd?AM&|77+xND~`rPKZmAu(>+oP1++ovkt{rkN7+x4_tFaL!ukK6nGo$YfQ
z^*v9n8!cmLEqlSVG%sR-0gvk<o|O{2GFI&rF4N*=-oAoIIW+6=hwEB@1u{>$*DRbW
z{m-p)*DZrjd!y_xaa_#o*4U(@uKo4!Pp!ij7T!1}%l>}rjh7!Q-(N81zW?~clRw*E
z{?k)GYWmiy#bRlmL;oJl&J$aiudgm)F0-iHas2Qk`y1cI?%sa8bcrAT(b;!%I<0P9
z{GTy@w!r#Jyj6z3I9)}Su6`_XYb*QXS!FV5bHD9z{itSs)R*aqqTRyE=Ymg+ZNB$v
zHnpZ&)$hNave^Ci{e>)>+mm|UX)=F2arlas*Y!VZ^`gp;W=x!PmHFb<*?e}lzMCE0
zvRk9d<U-#>-y7$jUC*^W@geu4@I-OlYNyz3uMQ~hJ@ZAvR^;ZhPs}lPSAO%o7BSQa
zbpPGC@q~NNuAHs@aeMx#hPkYYE#J1MVCVaHeA;*K{uFcFvg=QSSx&=`UA`hqVtqd?
zdYU5{zPVBEP0{7r*yQI8{Cgfe_xwDKZM9d}j|Vzyjy`R7nLK@io8wY#kL`E7<ZHiM
z%i2}-*!_R$ze>Jf<68x9vugLJO(0z-KZ&Qdg!24aAb07_69#wwGGo2xYnJYN`~G6Y
z{f5WJTvyi~d3Pw}=hJ5XJrB~|HdTa{+%+rHYo0wvW<#>j?DETdO_@vH{3w)qU%ji;
z_NZx&{M3G{ii77TKhyiAxALr4;M%-PCKi?|B^8>h(u}9Bzu_-jd+e)R*D9HVSAKyF
zecrkG`QJvbip||uzVh)2I2K)AknA*Z-`f1(ke>{yQhV!uK44yNk^b+!z|FQq$H>U%
z4;rj)&CipZ6`-=U+SoNLchL;9^D}-vc+R=`7mwnv#>0hg<$|tQStOh|DXSMGs<Ytj
z`x?t-4bL~rd(JeUU-;%g((k9u`VsaO9#ihFe%g6?*ZZ(1x__h(PrZ8MKmWO2qjEjn
z+kfSD*M3Y??y;~}^!>-QM%v9#OT6aOo!0u!OS>mk{4v*^-gU{kUv-=DI!X3RTGs59
zrms7aq`qxvdDNrlbwOV>GmT$cCUm!OcDu!Xn-2~CQ?8YY{CTrg$>;Sw`KWyp56!-#
zvTn<7$3qHR4xXKK)bzH)nQ1H9&39e2*J8I>_;hw(^Yq=jSu~fmADQ`g-w!kW*($3f
zq`R`zS+DL4=#y?Q`_N(ZtLBi%<=QzX-b%(U=MFlvzxDbXmD0JBS)OidXsr40A^42_
zgQZVg7!FDwD~idOcvfy#ai6Y&gUYVfn=F;xwLJ0PR(xmSKH_ux;D=dz-;~^0xZPL!
z1ozroz7KYO?cK)hC-BfMm|Z;L!tIi4FB=3m3Vm8)$!*y6sqlWqio>o2PxU5+TD=Tg
zTYBn%ncKVvzMt<;x^8t&I-EsdU*;9>P2#^c<W8(9zWKyK=F!o}&oxcvzO0k~sWfr#
zxH#p#g6GcWJgu#MTs=}B|A<_cKQTXqr9pZJ*SgY;D&`{Z<;7pP%bb(kzId5Z(Qoe9
z^oMseN~1k(j(c7ge=9F8q5Eh?@kj1Y%XFAHf_hdKEMHk@*tfPM_u;=l2kT#jyJlY8
zZ}(RI&JNastf#lms+in(IjgC5aYNY`WxkJ>g&*=|96!BiOWgcbr%qb!*P729?QZ?6
zRrA<$=6|mncDLWmyzk*<c4=;ub?n65{mk*{>RUeFH>vO3!Qi?h`T=KR)_2Cros(q`
zrr!L0L#TAiV);U2p+@gxZ`B_y65O@-44>dO5ph1@TNmwv1>fy$%wBo$+&WgT#8pop
z)W1KvrsG3JiO}O;u{)0M6cpu=b+0}4U()?P(=nGF;+fwCy{@FkvLxKGX3gAtJaCcS
qX{9?EN|FMnBE=+YEB(x$$D3}plVUPRyu-l2z~JfX=d#Wzp$P!`FXGq$

literal 0
HcmV?d00001

diff --git a/src/assets/img/markers/marker-shadow.png b/src/assets/img/markers/marker-shadow.png
new file mode 100644
index 0000000000000000000000000000000000000000..9fd2979532a19a15b824ce763c76e04a8dafadfb
GIT binary patch
literal 618
zcmeAS@N?(olHy`uVBq!ia0y~yV9*3%4i*Lm2ByptwG0eQhMq2tAr*{oFSYhPb`W5>
zz-9dRf4!`+aT{;(+DlW`OuKvh(cD`Fe?o50tvmGJPyYYkI}^-Pj=%i->5t$_?z+Eg
z<0t)EHE)aXMy2F{nEjj_T;IYwdK?Rnnaqjf{1)D-;#kNmzt4GE;O+QxK@S+5(^AaU
z7N=aDb)V1U?7Vn^%sUpxJr3q=Te918=e*elN$zhlHIzdXC1oeM8Mbg5Nj2o3WOPw+
zpMOwu*&gweJLb*OS~P7Ar@rLmS*ayg8lq+dZ0+?Zm6<qu;*}zfu2hy|uLF<soYNKV
zknTP;LutbHx*an*6TNi~)JN`}Qs%BY>nX!yo^w|MJ60@P{_ADQggak&v`^0oPSK8g
z6Zm$gzJVJ145{rKZ=dn?y=(KrV#&L&JR6VjWuMu>*SMBLWeLMd-$OHax6Mdiqt~NQ
zs^Y#(?6|a*=efdFwcBoGHo3%{*nZNbWKCU{!`kM%S>CBD4~8GC3UcaXD%fwav8F%f
z=oGOgmCmZ5<p%^+HM^ZH_x6bHNDI=Cc74Ja?y%tTtDab$aBsya^IN6GPu9I#9wb$A
z=wi{KnJYXR9Z$DxUbr-1?cs*aiPfhaQ>0aHZd{<vr@<4{Ae6p%U(~+N6nB0l1;&_-
z*G+D|PdcGqv!zC@Qe}mvm4OoXn?l8z0S~P09`rul+Zcayg7KCu2RnRB{eGO|=4Z1#
z9=u0k2mABm5=R{pTwcxL{gH7-_|Ea<J;#=x5j}EbVPd^++($9~!rKR?|7cR)!4V{I
dv}BHa{AJ^}7Ly#37#J8BJYD@<);T3K0RTo07ajlr

literal 0
HcmV?d00001

diff --git a/src/assets/map/map-component-maps/messina_cycling_paths.json b/src/assets/map/map-component-maps/messina_cycling_paths.json
index 811785ea..1bf1172f 100644
--- a/src/assets/map/map-component-maps/messina_cycling_paths.json
+++ b/src/assets/map/map-component-maps/messina_cycling_paths.json
@@ -1 +1,117 @@
-[{"id":"urn:ngsi-ld:GtfsShape:messina:CyclingPaths:CRS84:1","alternateName":"CyclingPaths","description":"Pista ciclabile Messina - Dinnamare","location":{"coordinates":[[15.5612754821777,38.2057461528513],[15.5396461486816,38.2137042649229],[15.5279731750488,38.2217626526206],[15.5256128311157,38.2283031144339],[15.5229520797729,38.2282019777484],[15.5219650268555,38.2273928792016],[15.5218362808228,38.2263140671392],[15.5210638046265,38.2264152064497],[15.5202054977417,38.2273254539165],[15.5213642120361,38.2298538593357],[15.5227375030518,38.2319439414548],[15.5241537094116,38.2345058956597],[15.5190896987915,38.229449320375],[15.5154848098755,38.2247969606063],[15.5132102966309,38.2201780192588],[15.5113220214844,38.217716711774],[15.5091762542725,38.218289900406],[15.5061721801758,38.2153227575021],[15.5024814605713,38.2124566523255],[15.5002498626709,38.2096241551407],[15.49720287323,38.2074322661897],[15.4951858520508,38.2059484885141],[15.4920101165771,38.1995746449794],[15.4849290847778,38.1928629579669],[15.4799938201904,38.1879046813689],[15.4727840423584,38.1738375293672],[15.4648876190186,38.1668198052653],[15.4643297195435,38.1587890805601]],"type":"LineString"},"name":"Messina - Dinnamare","type":"GtfsShape","@context":["https:\/\/smartdatamodels.org\/context.jsonld","https:\/\/uri.etsi.org\/ngsi-ld\/v1\/ngsi-ld-core-context.jsonld"],"dateCreated":"2022-10-14T09:39:09.016Z","dateModified":"2022-10-14T09:39:09.016Z"}, {"id":"urn:ngsi-ld:GtfsShape:messina:CyclingPaths:CRS84:2","alternateName":"CyclingPaths","description":"Pista ciclabile Messina - Centro","location":{"coordinates":[[15.556404590607,38.197247547181],[15.55163025856,38.189414124437],[15.552043318749,38.189178012077],[15.552424192429,38.188967197626],[15.552581101656,38.189100010947],[15.552727282047,38.188996711505],[15.552932471037,38.188906060766],[15.553153753281,38.188773246963],[15.553459525108,38.188596161463],[15.55367410183,38.188478104766],[15.555133223534,38.19032059499],[15.556321442127,38.191861615525],[15.556497126818,38.19204186355],[15.556568875909,38.192110906863],[15.556604750454,38.192143320436],[15.556640625,38.192142005046],[15.557144880295,38.19711264068],[15.556860566139,38.197175878031],[15.556436777115,38.197289705411],[15.556404590607,38.197247547181]],"type":"LineString"},"name":"Messina - Centro","type":"GtfsShape","@context":["https:\/\/smartdatamodels.org\/context.jsonld","https:\/\/uri.etsi.org\/ngsi-ld\/v1\/ngsi-ld-core-context.jsonld"],"dateCreated":"2022-10-14T09:39:09.024Z","dateModified":"2022-10-14T09:39:09.024Z"}, {"id":"urn:ngsi-ld:GtfsShape:messina:CyclingPaths:CRS84:3","alternateName":"CyclingPaths","location":{"coordinates":[[15.565814,38.218324],[15.5655241012573,38.2208523355462],[15.5656099319458,38.2223020944011],[15.5667686462402,38.2248306744285],[15.5687856674194,38.226920900893],[15.56960105896,38.2284379631292],[15.5700302124023,38.2298201478416],[15.5710601806641,38.2329552499491],[15.5720043182373,38.2344721863219],[15.5731201171875,38.2355171685269],[15.5760169029236,38.2369497810148],[15.5778193473816,38.2380115814698],[15.5783772468567,38.2375059641392],[15.5791068077087,38.2379441660288]],"type":"LineString"},"name":"Messina - Litoranea","type":"GtfsShape","@context":["https:\/\/smartdatamodels.org\/context.jsonld","https:\/\/uri.etsi.org\/ngsi-ld\/v1\/ngsi-ld-core-context.jsonld"],"dateCreated":"2022-10-14T09:39:09.028Z","dateModified":"2022-10-14T09:39:09.028Z"}]
\ No newline at end of file
+[
+  {
+    "id": "urn:ngsi-ld:GtfsShape:messina:CyclingPaths:CRS84:1",
+    "alternateName": "CyclingPaths",
+    "description": "Pista ciclabile Messina - Dinnamare",
+    "location": {
+      "coordinates": [
+        [15.5612754821777, 38.2057461528513],
+        [15.5396461486816, 38.2137042649229],
+        [15.5279731750488, 38.2217626526206],
+        [15.5256128311157, 38.2283031144339],
+        [15.5229520797729, 38.2282019777484],
+        [15.5219650268555, 38.2273928792016],
+        [15.5218362808228, 38.2263140671392],
+        [15.5210638046265, 38.2264152064497],
+        [15.5202054977417, 38.2273254539165],
+        [15.5213642120361, 38.2298538593357],
+        [15.5227375030518, 38.2319439414548],
+        [15.5241537094116, 38.2345058956597],
+        [15.5190896987915, 38.229449320375],
+        [15.5154848098755, 38.2247969606063],
+        [15.5132102966309, 38.2201780192588],
+        [15.5113220214844, 38.217716711774],
+        [15.5091762542725, 38.218289900406],
+        [15.5061721801758, 38.2153227575021],
+        [15.5024814605713, 38.2124566523255],
+        [15.5002498626709, 38.2096241551407],
+        [15.49720287323, 38.2074322661897],
+        [15.4951858520508, 38.2059484885141],
+        [15.4920101165771, 38.1995746449794],
+        [15.4849290847778, 38.1928629579669],
+        [15.4799938201904, 38.1879046813689],
+        [15.4727840423584, 38.1738375293672],
+        [15.4648876190186, 38.1668198052653],
+        [15.4643297195435, 38.1587890805601]
+      ],
+      "type": "LineString"
+    },
+    "name": "Messina - Dinnamare",
+    "type": "GtfsShape",
+    "@context": [
+      "https://smartdatamodels.org/context.jsonld",
+      "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld"
+    ],
+    "dateCreated": "2022-10-14T09:39:09.016Z",
+    "dateModified": "2022-10-14T09:39:09.016Z"
+  },
+  {
+    "id": "urn:ngsi-ld:GtfsShape:messina:CyclingPaths:CRS84:2",
+    "alternateName": "CyclingPaths",
+    "description": "Pista ciclabile Messina - Centro",
+    "location": {
+      "coordinates": [
+        [15.556404590607, 38.197247547181],
+        [15.55163025856, 38.189414124437],
+        [15.552043318749, 38.189178012077],
+        [15.552424192429, 38.188967197626],
+        [15.552581101656, 38.189100010947],
+        [15.552727282047, 38.188996711505],
+        [15.552932471037, 38.188906060766],
+        [15.553153753281, 38.188773246963],
+        [15.553459525108, 38.188596161463],
+        [15.55367410183, 38.188478104766],
+        [15.555133223534, 38.19032059499],
+        [15.556321442127, 38.191861615525],
+        [15.556497126818, 38.19204186355],
+        [15.556568875909, 38.192110906863],
+        [15.556604750454, 38.192143320436],
+        [15.556640625, 38.192142005046],
+        [15.557144880295, 38.19711264068],
+        [15.556860566139, 38.197175878031],
+        [15.556436777115, 38.197289705411],
+        [15.556404590607, 38.197247547181]
+      ],
+      "type": "LineString"
+    },
+    "name": "Messina - Centro",
+    "type": "GtfsShape",
+    "@context": [
+      "https://smartdatamodels.org/context.jsonld",
+      "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld"
+    ],
+    "dateCreated": "2022-10-14T09:39:09.024Z",
+    "dateModified": "2022-10-14T09:39:09.024Z"
+  },
+  {
+    "id": "urn:ngsi-ld:GtfsShape:messina:CyclingPaths:CRS84:3",
+    "alternateName": "CyclingPaths",
+    "location": {
+      "coordinates": [
+        [15.565814, 38.218324],
+        [15.5655241012573, 38.2208523355462],
+        [15.5656099319458, 38.2223020944011],
+        [15.5667686462402, 38.2248306744285],
+        [15.5687856674194, 38.226920900893],
+        [15.56960105896, 38.2284379631292],
+        [15.5700302124023, 38.2298201478416],
+        [15.5710601806641, 38.2329552499491],
+        [15.5720043182373, 38.2344721863219],
+        [15.5731201171875, 38.2355171685269],
+        [15.5760169029236, 38.2369497810148],
+        [15.5778193473816, 38.2380115814698],
+        [15.5783772468567, 38.2375059641392],
+        [15.5791068077087, 38.2379441660288]
+      ],
+      "type": "LineString"
+    },
+    "name": "Messina - Litoranea",
+    "type": "GtfsShape",
+    "@context": [
+      "https://smartdatamodels.org/context.jsonld",
+      "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context.jsonld"
+    ],
+    "dateCreated": "2022-10-14T09:39:09.028Z",
+    "dateModified": "2022-10-14T09:39:09.028Z"
+  }
+]
diff --git a/src/assets/map/map-component-maps/messina_pois.json b/src/assets/map/map-component-maps/messina_pois.json
index bfb5d9df..b6d3d45f 100644
--- a/src/assets/map/map-component-maps/messina_pois.json
+++ b/src/assets/map/map-component-maps/messina_pois.json
@@ -3749,30 +3749,9 @@
             {
                 "type": "Feature",
                 "properties": {
-                    "stopId": 694,
-                    "stopCode": 694,
-                    "stopName": "Paradiso; via C. Pompea - Poste",
-                    "mainStop": true,
-                    "type": "bus",
-                    "year": "2021"
-                },
-                "geometry": {
-                    "type": "Point",
-                    "coordinates": [
-                        15.5685009397998,
-                        38.2265999624069
-                    ]
-                }
-            },
-            {
-                "type": "Feature",
-                "properties": {
-                    "stopId": 695,
-                    "stopCode": 695,
-                    "stopName": "Contemplazione; via C. Pompea n. 239",
-                    "mainStop": true,
-                    "type": "bus",
-                    "year": "2021"
+                    "name": "Casa di Riposo",
+                    "category": "Medical Service",
+                    "type": "Medical_Facility"
                 },
                 "geometry": {
                     "type": "Point",
-- 
GitLab