Мне нужно знать, какой слой я нажимаю на карте открытых слоев, чтобы получить некоторые данные о ней позже.
Я сделал это раньше, но только с использованием одного слоя. Теперь у меня их несколько, и я хотел бы знать, на какой слой я нажимаю, чтобы получить информацию из геосервера.
capa1WMS:TileLayer;
map:Map;
...
getDatosCapaWMS(url:string): Observable<any>{
return this.http.get(url);
}
clickMapa(event:any):void{
if(this.capa1WMS.getSource()!=null){
var url = this.capa1WMS.getSource().getGetFeatureInfoUrl(
this.map.getEventCoordinate(event), this.view.getResolution(), this.view.getProjection(),
{'INFO_FORMAT': 'application/json'});
this.getDatosCapaWMS(url).subscribe(data => {
//stuff
});
}
}
И мой HTML-код
<div id="map" class="map" (click)="clickMapa($event)"></div>
Я видел, что у openlayers есть метод forEachFeatureAtPixel()
, но я не заставил его работать