@fleetbase/fleetops-data
Version:
Fleetbase Fleet-Ops based models, serializers, transforms, adapters and GeoJson utility functions.
30 lines (24 loc) • 792 B
JavaScript
import GeoJson from './geo-json';
import LineString from './line-string';
import { isArray } from '@ember/array';
export default class MultiLineString extends GeoJson {
constructor(input) {
super();
if (input && input.type === 'MultiLineString' && input.coordinates) {
Object.assign(this, input);
} else if (isArray(input)) {
this.coordinates = input;
} else {
throw 'GeoJSON: invalid input for new MultiLineString';
}
this.type = 'MultiLineString';
}
forEach(func) {
for (var i = 0; i < this.coordinates.length; i++) {
func.apply(this, [this.coordinates[i], i, this.coordinates]);
}
}
get(i) {
return new LineString(this.coordinates[i]);
}
}