Skip to content

Commit e4bca7c

Browse files
committed
feat: buildMapViewData includes jobs/vehicles
1 parent 5a5a5ea commit e4bca7c

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

src/models/map-view-data.js

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ class MapViewData {
117117
* @returns {MapViewData} mapViewAta
118118
*/
119119
static buildFromGeoJson (geoJson) {
120-
const mapViewAta = new MapViewData()
120+
const mapViewData = new MapViewData()
121121

122122
for (const fKey in geoJson.features) {
123123
const feature = {
@@ -128,23 +128,29 @@ class MapViewData {
128128
}
129129
switch (geoJson.features[fKey].geometry.type) {
130130
case 'LineString':
131-
mapViewAta.routes.push(feature)
131+
mapViewData.routes.push(feature)
132132
break
133133
case 'Point': {
134-
const lat = feature.geometry.coordinates[0]
135-
const lon = feature.geometry.coordinates[1]
136-
// TODO: OPTIMIZATION - load jobs and vehicles
137-
const place = new Place(lat, lon, feature.properties.label, { properties: feature.properties })
138-
feature.latlngs = feature.geometry.coordinates
139-
mapViewAta.places.push(place)
134+
if (feature.properties.label.includes('Job')) {
135+
mapViewData.jobs.push(Job.fromGeoJsonObject(feature))
136+
} else {
137+
const lat = feature.geometry.coordinates[0]
138+
const lon = feature.geometry.coordinates[1]
139+
const place = new Place(lat, lon, feature.properties.label, { properties: feature.properties })
140+
feature.latlngs = feature.geometry.coordinates
141+
mapViewData.places.push(place)
142+
}
140143
break
141144
}
145+
case 'MultiPoint':
146+
mapViewData.vehicles.push(Vehicle.fromGeoJsonObject(feature))
147+
break
142148
case 'Polygon':
143-
mapViewAta.polygons.push(feature)
149+
mapViewData.polygons.push(feature)
144150
break
145151
}
146152
}
147-
return mapViewAta
153+
return mapViewData
148154
}
149155

150156
/**

0 commit comments

Comments
 (0)