Advertisement
Guest User

Untitled

a guest
Jan 24th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. import { Subject } from 'rxjs/Subject';
  2. import { Store } from '@ngrx/store';
  3. import { Component, OnInit, OnDestroy, AfterViewInit } from '@angular/core';
  4.  
  5. import { AppState } from '../../../root.reducer';
  6.  
  7. @Component({
  8. selector: 'my-map-example',
  9. template: `
  10. <sebm-google-map
  11. [fitContents]="fitContents"
  12. #bounds=fitContentsDirective
  13. [fitBounds]="bounds.mapBounds">
  14. <sebm-google-map-marker
  15. *ngFor="let marker of fitContents | async"
  16. [latitude]="marker.latitude"
  17. [longitude]="marker.longitude">
  18. </sebm-google-map-marker>
  19. </sebm-google-map>
  20. `
  21. })
  22. export class ExampleComponent implements OnInit, OnDestroy {
  23. public fitContents: Subject<Coordinates[]> = new Subject<Coordinates[]>();
  24.  
  25. private destroyed$: Subject<any> = new Subject();
  26.  
  27. constructor(
  28. private store: Store<AppState>) { }
  29.  
  30. public ngOnInit() {
  31. this.store.select(store => store.coordinatesToDisplay)
  32. .subscribe((coordinates) => {
  33. this.fitContents.next(coordinates);
  34. });
  35. }
  36.  
  37. public ngOnDestroy() {
  38. this.destroyed$.next();
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement