Ответ размещенного вами URL выглядит следующим образом:
{
"type": "",
"metadata": [],
"features": [
{
"type": "",
"properties": {},
"geometry": {},
"id": ""
}
],
"bbox": []
}
Вы заинтересованы в извлечении массива properties
и массива geometry
. Имеет смысл сделать это в вашем сервисе, если вы хотите поделиться этой функциональностью.
Для этого вам потребуется преобразовать ответ в оператор Rx JS map
в конвейере.
public getEarthquakeData(): Observable<{ properties: [], geometries: []}> {
return this.httpClient.get<any>(this.url).pipe(
// this will run when the response comes back
map((response: any) => {
return {
properties: response.features.map(x => x.properties),
geometries: response.features.map(x => x.geometry)
};
})
);
}
Затем, когда вы подпишетесь на эту функцию в своем компоненте, вы получите объект, который выглядит следующим образом:
{
"properties": [],
"geometries": []
}
component.ts
properties: [];
geometries: [];
ngOnInit() {
this.earthquakeService.getEarthquakeData().subscribe(data => {
this.properties = data.properties;
this.geometries = data.geometries;
});
}