@@ -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