我有一个共享服务来管理我在角度4应用程序中的openlayers地图操作。
import { Injectable, EventEmitter } from '@angular/core';
@Injectable()
export class MapService {
public onMapLoadStart: EventEmitter<any>;
constructor() {
this.onMapLoadStart = new EventEmitter();
}
populateMapLoadStart = function(event){
this.onMapLoadStart.emit(event);
}
}
我在地图组件中使用服务。
import { Component, OnInit, Output, EventEmitter } from '@angular/core';
import OlOsm from 'ol/source/osm';
@Component({
selector: 'my-map',
templateUrl: './map.component.html',
styleUrls: ['./map.component.css']
})
export class MapComponent implements OnInit {
source: OlOsm;
constructor(private mapService: MapService) {
mapService.onMapLoadStart.subscribe(item => this.source.on("tileloadstart", function(){}));??????
}
....
...
openlayers source
对象有一个名为tileloadstart
的事件。我想通过我的地图服务订阅此活动。 Openlayers源事件的工作原理如下:
this.source.on("tileloadstart", function(event){
console.log(event);
}));
但这不起作用。