diff --git a/README_light.md b/README_light.md deleted file mode 100644 index f31745d..0000000 --- a/README_light.md +++ /dev/null @@ -1,17 +0,0 @@ -# TileServer GL light -[![Build Status](https://travis-ci.org/klokantech/tileserver-gl.svg?branch=master)](https://travis-ci.org/klokantech/tileserver-gl) -[![Docker Hub](https://img.shields.io/badge/docker-hub-blue.svg)](https://hub.docker.com/r/klokantech/tileserver-gl/) - -Vector maps with GL styles. Map tile server for Mapbox Android, iOS, GL JS, Leaflet, OpenLayers, etc. without server side rendering. - -## Quickstart -Use `npm install -g tileserver-gl-light` to install the package from npm. - -Then you can simply run `tileserver-gl-light zurich_switzerland.mbtiles` to start the server for the given mbtiles. - -See also `tileserver-gl` which contains server side rendering. - -Prepared vector tiles can be downloaded from [OSM2VectorTiles](http://osm2vectortiles.org/). - -## Documentation -You can read full documentation of this project at http://tileserver.readthedocs.io/. \ No newline at end of file diff --git a/src/serve_rendered.js b/src/serve_rendered.js index 8a7fc4b..90de152 100644 --- a/src/serve_rendered.js +++ b/src/serve_rendered.js @@ -266,19 +266,26 @@ module.exports = function(options, repo, params, id, dataResolver) { } var markerImages = []; - var markerImageNames = ['pickup','dropoff']; - markerImageNames.forEach(function(imageName){ - var imageData = fs.readFileSync(path.join(__dirname, "../public/resources/images/") + imageName + "-marker.png"); - // TODO: HANDLE ERROR! - var mkrImage = new Canvas.Image(); - mkrImage.src = imageData; - markerImages.push(mkrImage); + + var markerLoadPromise = new Promise(function(resolveCallback, rejectCallback) { + + markerImageNames.forEach(function(imageName){ + fs.readFile(path.join(__dirname, "../public/resources/images/") + imageName + '-marker.png', function(err, fileData) { + + if (err) { + rejectCallback(err); + } + + var mkrImage = new Canvas.Image(); + mkrImage.src = fileData; + markerImages.push(mkrImage); + }); + }); + resolveCallback(); }); - - var tileJSON = { 'tilejson': '2.0.0', 'name': styleJSON.name, @@ -781,7 +788,7 @@ module.exports = function(options, repo, params, id, dataResolver) { return res.send(info); }); - return Promise.all([fontListingPromise, renderersReadyPromise]).then(function() { + return Promise.all([markerLoadPromise, fontListingPromise, renderersReadyPromise]).then(function() { return app; });