API beta test
-
@EnergyVue I tried to fix the "reinit" problem you mentioned here, it should work now. Could you please try it once again?
-
@marekd I tested the beta=36 version,... it seems to be working now,.. But, I can't select the satellite view, I assume it's temporarily disabled ?
-
@marekd said in API beta test:
?beta=36
Hi @marekd , thanks for tagging us. Happy to see the release process improving to avoid issues in production!
With the beta version so far we noticed only the pressure overlay having different colors.
Before:
https://drive.google.com/file/d/1v9vivS_GGamAz_ftVlekUth95O5EwXkb/previewIn beta:
https://drive.google.com/file/d/1y1I5_Y29pniE5tFZsEMkf4fXTpIs43g8/previewP.S. btw, your image uploader is broken at least with Chrome, could not upload the images here directly :)
Cheers,
Justinas -
@EnergyVue Thank you for your help! Satellite should work, I will look into it.
@asjustis That is on purpose, we changed our default colors for pressure overlay. You can override it if you want. By the way, I cannot see Windy logo on your screens, this violates the API terms of use ;-) Can you be please more specific what you mean with "image uploader"? -
-
@shahramt
I see the warning message "!!! Repeatedly calling "windyInit" of an already initialized API is an unsupported functionality and will be removed in future versions!"
Do you have any other solution for how show a new location after user input without reloading the page? -
@shahramt Do not init map again. Init is a procces, where all windy libraries are loaded and initialized. After the map is once set, you should work only with its API. Eg. clean all markers, create new markers, change location, zoom, change layers, ... You should handle this programmatically according to available methods mentioned here: https://api.windy.com/map-forecast/docs.
Reinit drops whole HTML and init all already inited modules again. It was a miracle it had worked till now. I had to do really ugly stuffs to make it work somehow in the current beta version. -
@marekd Hi marekd. I face the same issue regarding the reinitialization of the map in my React web app. If i do not explicity reinit the map when I come back to the page that contains the windy div after navigating to another url, the map is not rendered again (I just get a gray screen). Am I missing something? Why the class that I use to define the windy map doesnt seem to target the windy map div after the first initialization of the API?
-
@thiago-gabriel I am sorry, but I am affraid I cannot help you. I think the problem could be the div is not visible. It is something our library does not count on. But I did not write anything in react for 4 years, so I do not know what exactly and how it works. I think the safe "solution" (workaround to be more precise) would be to have the map in an iframe and unmount the iframe on component unmount. Then load the iframe again on mount. I have not tried that, but I suppose it will work correctly and it will be safe even for next versions.
It's a little half-baked on our part we do not count on someone would like to hide the map for a while. The API library comes directly from our client codes and our website has map all the time. Sorry about that, but there are no plans to change that :-( -
@marekd
Ok, but would you tell me how do I reach the map object and can redefine the center (and the content) by an example?
https://touchngo.se
I get the new position from the user but I do not know how to access the map-object later.
Many thanks in advance -
@shahramt You should be able to store the map object into your custom variable which is accessible from the part of code you need. Or
W.map.map
(yes, 2 map) should work as well. -
Beta has been released to production. Thank you all for your help.
-
-
@mared Could someone please help us? This version has completely broken us.
-
@marekd We have made some progress with the issues using the following:
windyInit(options, windyAPI => { const { map, picker, utils, overlays, store, broadcast, particles } = windyAPI; let baseLayer = W.map.baseLayer; W.map = W.map.map; W.map.baseLayer = baseLayer; }
The rest of our code uses W.map to address the map, so we have to assisn W.map.map to it. But this then lost w.Map.baseLayer, so we need to reassign it too.
This has brought our application back to life, but one need issue could you look at?
We create a form on the map to control turning on / off other layers. Since the new version of Windy we are now getting a "cursor: not allowed;" when hovering over the checkboxes shown in the screenshot.
The CSS is matching on input:read-only but our input checkboxes are not read only.... As you can see in the screenshot nothing is set to read only. But on hover of those inputs you get :
-
I can override the CSS with
#windy .form-group input:read-only { cursor: initial; /*This is like a weird bug where it was showing checkboxes as disabled even if the input was not read-only*/ }
but seems like a bug at your side.
-
@compassdsnm Sorry for all problems. I am glad it works for you again. Just please be careful with using of
W
object. As it stands in the documentation https://api.windy.com/map-forecast/docsDo not use features not listed here as we cannot guarantee that they will be available in other versions of Map Forecast API.
And accessing
W
object and its inner properties are definitely risky part. It can happen again. I would suggest you to use onlywindyAPI
object returned after initialization. -
@marekd We will need to discuss this internally. Initial feeling is that we would rather stay as close to a standard leaflet implementation as possible. Windy is a small part of our application.
@marekd can you reproduce the above CSS issue? I could create a simple page and set this up if you would like.
Euan
-
@compassdsnm CSS pseudo class
:read-only
is applied correctly, checkboxes and radio buttons are considered as readonly inputs in browsers by default. There is nothing wierd about that. If you need to change this behaviour, feel free to override styles like you did. -
@marekd said in API beta test:
checkboxes and radio buttons are considered as readonly inputs in browsers by default.
@marekd I have never seen a checkbox or radio button having a default readonly value in all my life. Please can you share any documentation you have on this?
Mozilla's documentation says it is not default.
https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/readonlyPrior to your release on Monday morning, this was working as expected.