Added support for mapbox:// urls.

This commit is contained in:
orangemug 2018-01-25 19:12:04 +00:00
parent 53cb317155
commit 9d96525f12
3 changed files with 18 additions and 1 deletions

View file

@ -4,6 +4,17 @@ module.exports = [
exclude: /(node_modules|bower_components|public)/, exclude: /(node_modules|bower_components|public)/,
loaders: ['react-hot-loader/webpack'] loaders: ['react-hot-loader/webpack']
}, },
// HACK: This is a massive hack and reaches into the mapbox-gl private API.
// We have to include this for access to `normalizeSourceURL`. We should
// remove this ASAP, see <https://github.com/mapbox/mapbox-gl-js/issues/2416>
{
test: /.*node_modules[\/\\]mapbox-gl[\/\\]src[\///]util[\/\\].*\.js/,
loader: 'babel-loader',
query: {
presets: ['env', 'react', 'flow'],
plugins: ['transform-runtime', 'transform-decorators-legacy', 'transform-class-properties'],
}
},
{ {
test: /\.jsx?$/, test: /\.jsx?$/,
exclude: /(.*node_modules(?![\/\\]@mapbox[\/\\]mapbox-gl-style-spec)|bower_components|public)/, exclude: /(.*node_modules(?![\/\\]@mapbox[\/\\]mapbox-gl-style-spec)|bower_components|public)/,

View file

@ -96,6 +96,7 @@
"babel-plugin-transform-object-rest-spread": "^6.26.0", "babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-plugin-transform-runtime": "^6.23.0", "babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-env": "^1.6.1", "babel-preset-env": "^1.6.1",
"babel-preset-flow": "^6.23.0",
"babel-preset-react": "^6.24.1", "babel-preset-react": "^6.24.1",
"babel-runtime": "^6.26.0", "babel-runtime": "^6.26.0",
"base64-loader": "^1.0.0", "base64-loader": "^1.0.0",

View file

@ -21,6 +21,10 @@ import LayerWatcher from '../libs/layerwatcher'
import tokens from '../config/tokens.json' import tokens from '../config/tokens.json'
import isEqual from 'lodash.isequal' import isEqual from 'lodash.isequal'
import MapboxGl from 'mapbox-gl'
import mapboxUtil from 'mapbox-gl/src/util/mapbox'
function updateRootSpec(spec, fieldName, newValues) { function updateRootSpec(spec, fieldName, newValues) {
return { return {
...spec, ...spec,
@ -199,7 +203,8 @@ export default class App extends React.Component {
}; };
if(!this.state.sources.hasOwnProperty(key) && val.type === "vector") { if(!this.state.sources.hasOwnProperty(key) && val.type === "vector") {
const url = val.url; const url = mapboxUtil.normalizeSourceURL(val.url, MapboxGl.accessToken);
fetch(url) fetch(url)
.then((response) => { .then((response) => {
return response.json(); return response.json();