I took insperation from https://openlayers.org/en/latest/apidoc/module-ol_source_Vector-VectorSource.html where they use
vectorSource.addFeatures(vectorSource.getFormat().readFeatures(xhr.responseText));
but in angular using typescript addFeatures accepts Feature[] while vectorSource.getFormat().readFeatures(xhr.responseText) gives FeatureLike[].
Argument of type 'FeatureLike[] | undefined' is not assignable to parameter of type 'Feature[]'. Type 'undefined' is not assignable to type 'Feature[]'.ts(2345)
heres the section which errors:
xhr.onload = () => { if (xhr.status === 200) { source.addFeatures( source .getFormat() ?.readFeatures(xhr.responseText) ); } else { console.log('error'); } };
is there a way to transform/cast FeatureLike to ordinary Feature, or maybe I'm doing this wrong?
found a solution to transform the data by using GeoJSON first (ref:How to reference another answer?)
xhr.onload = () => { if (xhr.status === 200) { let features = new GeoJSON({ featureProjection: 'EPSG:32633', }).readFeatures(xhr.responseText); source.addFeatures(features); } else { console.log('error'); } };
2.1m questions
2.1m answers
60 comments
57.0k users