services/group.service.ts
constructor(guidService: GuidService)
|
Defined in services/group.service.ts:12
|
Public addOLayersToGroup |
addOLayersToGroup(overlay: any, map: any, mapService: any, group: any, replace: boolean, gId: String)
|
Defined in services/group.service.ts:16
|
Returns:
void
|
Public getObservableGroup |
getObservableGroup()
|
Defined in services/group.service.ts:47
|
Returns:
void
|
Public getGroup |
getGroup()
|
Defined in services/group.service.ts:55
|
Returns:
void
|
Public getLayerGroup |
getLayerGroup()
|
Defined in services/group.service.ts:59
|
Returns:
void
|
Public getLayerNumber |
getLayerNumber()
|
Defined in services/group.service.ts:63
|
Returns:
void
|
Private group |
group: |
Defined in services/group.service.ts:12
|
Private layerGroup |
layerGroup: |
Defined in services/group.service.ts:9
|
Private layerGroupNumber |
layerGroupNumber: |
Default value: 0
|
Defined in services/group.service.ts:11
|
Private layerId |
layerId: |
Defined in services/group.service.ts:10
|
import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/Rx';
import { GuidService } from '../services/globalId.service';
import * as L from 'leaflet';
@Injectable()
export class GroupService {
private layerGroup: Array<any> = [];
private layerId: Array<any> = [];
private layerGroupNumber: number = 0;
private group: any = {};
constructor(private guidService: GuidService) { }
public addOLayersToGroup(overlay, map, mapService, group, replace = false, gId?: String) {
if (!gId) {
gId = this.guidService.newGuid();
}
if (this.layerId.indexOf(gId) === -1) {
this.layerId.push(gId);
}
if (Object.keys(this.group).length !== 0) {
if (replace) {
map.removeLayer(this.group);
if (this.layerId.indexOf(gId) !== -1) {
this.layerGroup[this.layerId.indexOf(gId)] = overlay;
} else {
this.layerGroup.push(overlay);
}
this.group = L.layerGroup(this.getLayerGroup());
this.group.addTo(map);
} else {
this.layerGroup.push(overlay);
this.group.addLayer(overlay);
}
}
if (!replace) {
this.layerGroup.push(overlay);
this.group = L.layerGroup(this.getLayerGroup());
this.group.addTo(map);
}
mapService.addOverlay(this.getGroup(), group.name, group.globalId);
}
public getObservableGroup() {
return Observable.create(observer => {
var group = this.getGroup();
observer.next(group);
observer.complete();
});
}
public getGroup() {
return this.group;
}
public getLayerGroup() {
return this.layerGroup;
}
public getLayerNumber() {
return this.layerGroupNumber;
}
}