diff --git a/src/components/App.jsx b/src/components/App.jsx index c76bf706..4eca4c34 100644 --- a/src/components/App.jsx +++ b/src/components/App.jsx @@ -202,7 +202,7 @@ export default class App extends React.Component { layers: [] }; - if(!this.state.sources.hasOwnProperty(key) && val.type === "vector") { + if(!this.state.sources.hasOwnProperty(key) && val.type === "vector" && val.hasOwnProperty("url")) { let url = val.url; try { url = mapboxUtil.normalizeSourceURL(url, MapboxGl.accessToken); @@ -215,6 +215,10 @@ export default class App extends React.Component { return response.json(); }) .then((json) => { + if(!json.hasOwnProperty("vector_layers")) { + return; + } + // Create new objects before setState const sources = Object.assign({}, this.state.sources); diff --git a/src/libs/style.js b/src/libs/style.js index cf2cff65..44419125 100644 --- a/src/libs/style.js +++ b/src/libs/style.js @@ -57,6 +57,7 @@ function indexOfLayer(layers, layerId) { function replaceAccessToken(mapStyle) { const omtSource = mapStyle.sources.openmaptiles if(!omtSource) return mapStyle + if(!omtSource.hasOwnProperty("url")) return mapStyle const metadata = mapStyle.metadata || {} const accessToken = metadata['maputnik:openmaptiles_access_token'] || tokens.openmaptiles