-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Relative URLs in sources don't work anymore (0.27.0) #3636
Comments
It wasn't intended for
Can you say what specifically you mean by this? |
I mean that each environment retrieves its own glyphs and fonts: local from local, staging from staging, prod from prod... So I didn't need to hard code each URLs for each environment. |
It is a reasonable expectation that relative URLs would work. |
I don't think it's something we should support.
Use cases where relative URLs are desired can be satisfied by preprocessing the style to produce the desired absolute URL. |
Those are good points. 👍 Let's close this ticket and open another to consider adding this rule to the validator. |
Since my production environment is not connected to the internet, this was keeping me from upgrading mapbox-gl.js... My fix for this turned out to be the same one I used for the tiles. from the json file in my project- then in the js code:
.... seems to work like a champ. |
Thanks @brianssheldon I can confirm it works. A bit hacky, but, meh :) Could there be any performance issue with this way of loading the styles? |
@nicooprat pretty hacky for sure. I don't know about there being a performance issue. I don't see it being much worse than going to mapbox for the files. Also, I think this is only done when the page is loaded so once it's up and running it should be fine. But I'm no expert on js or mapbox. |
I had to just push my project to master first, so instead of setting:
I have set:
It just seems silly because I can't preview my map before uploading the first time, since I'm pushing the whole thing to master anyway, therefore validating the hosted URL. |
For others running into this issue, a workaround like this may be helpful, if you're constructing your style file on the fly:
|
For a cleaner solution than altering style JSON files, you can also use |
With version 0.26.0 I had something like this:
in my style definition, because I wanted it to work in all environments. Now with 0.27.0, the function
parseUrl
throws an error because the URL doesn't match the expected syntax (protocol missing):mapbox-gl-js/js/util/mapbox.js
Line 93 in 44727a7
I guess the protocol could be retrieved, if missing, with
location.protocol
; but I'm not good enough with regexs to fix it myself... :) Here, if the regex doesn't match, it returnsnull
.Thanks.
The text was updated successfully, but these errors were encountered: