const source = newVectorSource(); fetch('data/geojson/roads-seoul.geojson') .then(function (response) { return response.json(); }) .then(function (json) { const format = newGeoJSON(); const features = format.readFeatures(json); const street = features[0];
// convert to a turf.js feature const turfLine = format.writeFeatureObject(street);
// show a marker every 200 meters const distance = 0.2;
// get the line length in kilometers const length = turf.lineDistance(turfLine, 'kilometers'); for (let i = 1; i <= length / distance; i++) { const turfPoint = turf.along(turfLine, i * distance, 'kilometers');
// convert the generated point to a OpenLayers feature const marker = format.readFeature(turfPoint); marker.getGeometry().transform('EPSG:4326', 'EPSG:3857'); source.addFeature(marker); }