diff --git a/src/app/pages/tecnalia-module/bike-trajectory/bike-trajectory.component.ts b/src/app/pages/tecnalia-module/bike-trajectory/bike-trajectory.component.ts index 61624235b9a6a05019ad026ae6726898971c1cc8..9d0b7fc293f6b016802c67dc30ba76b465a80bd8 100644 --- a/src/app/pages/tecnalia-module/bike-trajectory/bike-trajectory.component.ts +++ b/src/app/pages/tecnalia-module/bike-trajectory/bike-trajectory.component.ts @@ -69,6 +69,7 @@ export class BikeTrajectoryComponent implements OnInit { public viz_type:number; public biker_type:number = 1; public links; + public gpss; fromValtoDay(val: number) { let date = new Date(val * 1000); @@ -76,6 +77,7 @@ export class BikeTrajectoryComponent implements OnInit { let dd = new Date(date.getTime() - (offset * 60 * 1000)); return dd.toISOString().split('T')[0]; } + radio_change(){ let eles:any = document.getElementsByName('viz_type'); this.viz_type = -1; @@ -87,10 +89,12 @@ export class BikeTrajectoryComponent implements OnInit { } console.log("radio_change::: viz_type="+this.viz_type); if ( this.viz_type == 0 ){ + this.print_pnts(); this.get_day0(); document.getElementById('controls_env').style.display='block' document.getElementById('safe_env').style.display='none'; }else if ( this.viz_type == 1){ + this.print_pnts(); this.get_vels0(); document.getElementById('controls_env').style.display='block'; document.getElementById('safe_env').style.display='none'; @@ -113,9 +117,6 @@ export class BikeTrajectoryComponent implements OnInit { console.log("radio2_change::: biker_type="+this.biker_type); this.load_safe_index(); } - localStyle(){ - - } load_safe_index(){ for( let m in this.markers){ @@ -353,19 +354,23 @@ export class BikeTrajectoryComponent implements OnInit { } } - get_pnts(data: any, clr_idx: number) { - console.log(Date.now()+': get_pnts::: len(data)='+Object.keys(data).length); - let gpss = data['gps']; - for (let [key, value] of Object.entries(this.markers)) { - this.map.removeLayer(this.markers[key]); + print_pnts(){ + for( let m in this.markers){ + this.map.removeLayer(this.markers[m]); } + try{ + this.map.removeLayer(this.links); + }catch(e){ + console.log("e="+e); + } + this.markers = {}; this.pnts = {}; console.log('get_pnts::: len(markers)=' + Object.keys(this.markers).length); - console.log('get_pnts::: len(gpss)=' + Object.keys(gpss).length); - Object.keys(gpss).forEach(id => { + console.log('get_pnts::: len(gpss)=' + Object.keys(this.gpss).length); + Object.keys(this.gpss).forEach(id => { - let gps = gpss[id]; + let gps = this.gpss[id]; // console.log('get_pnts::: gpss['+id+']='+JSON.stringify(gpss[id])); this.pnts[id] = gps; let marker = L.circle([gps[0], gps[1]], 5).addTo(this.map); @@ -374,8 +379,16 @@ export class BikeTrajectoryComponent implements OnInit { marker['value'] = -1; this.markers[id] = marker; marker.bindPopup("id=" + +this.markers[id]['title']+ "\nvalue="+this.markers[id]['value']); - }); + } + + get_pnts(data: any, clr_idx: number) { + console.log(Date.now()+': get_pnts::: len(data)='+Object.keys(data).length); + this.gpss = data['gps']; + for (let [key, value] of Object.entries(this.markers)) { + this.map.removeLayer(this.markers[key]); + } + this.print_pnts(); console.log("get_pnts::: len(markers)=" + Object.keys(this.markers).length); this.create_legend(clr_idx); this.points_loaded = true; @@ -588,6 +601,7 @@ export class BikeTrajectoryComponent implements OnInit { }; this.legend.addTo(this.map); } + create_legend2() { this.legend = new (L.Control.extend({options: { position: 'bottomright' }})); this.legend.onAdd = function (map: object) { @@ -640,6 +654,7 @@ export class BikeTrajectoryComponent implements OnInit { closeInstructions() { document.getElementById('instructionModal').style.display = 'none'; } + download_points(){ let out = this.pnts; const blob = new Blob([JSON.stringify(out)], { type: "text/json" });