Get a sneak peek at whats next for Permanent Hazards on our April 7th Office Hours!
Discussion for the unofficial, community-developed addons, extensions and scripts built for the Waze Map Editor.

The official index of these tools is the Community Plugins, Extensions and Tools wiki page.
Post by Glodenox
There currently seems to be an issue where the rotation of an image gets lost when you move the image afterwards. This seems to be caused by the new version of OpenLayers. I'll try to look into it soon, but I'm a bit too busy at the moment to fix that right away.
Glodenox
Waze Global Champs
Waze Global Champs
Posts: 1565
Answers: 1
Has thanked: 278 times
Been thanked: 940 times
Send a message
Belgium & Luxembourg Coordinator • Script Writing Community Coordinator
https://www.tomputtemans.com/images/WazeBelgium.pnghttps://www.tomputtemans.com/images/WazeWMEbeta.png

Post by Glodenox
Hmm, something weird is going on indeed. The error I'm getting doesn't specify a clear reason for the error. I'll try to investigate it this weekend, but I can't guarantee I'll have the time to do that.
Glodenox
Waze Global Champs
Waze Global Champs
Posts: 1565
Answers: 1
Has thanked: 278 times
Been thanked: 940 times
Send a message
Belgium & Luxembourg Coordinator • Script Writing Community Coordinator
https://www.tomputtemans.com/images/WazeBelgium.pnghttps://www.tomputtemans.com/images/WazeWMEbeta.png

Post by Glodenox
Version 1.0.2 has just been released, which fixes the issue where the rotation of the image wasn't applied if you did something else to the image. There were some minor changes to the part of OpenLayers that was used by this script which seemed harmless to me, but apparently did have this side-effect.

I've now improved that part of the code a bit, which may also make editing the image smoother than before. Previously the script would pretty much create a new image each time you change something in the image (I relied on an internal property that should prevent this, but I found out now that it doesn't work like that), now it will just reuse the same image. Especially with bigger images I can imagine this difference will be noticeable.

I haven't found the cause for the issue I had at my other computer though. It seemed like the database got corrupted somehow. I had to remove the database as a whole to get it to work again as I always got an "UnspecifiedError" when trying to access the database. Even the development tools of Firefox crashed whenever I wanted to look at it. If you find yourself in a situation where the script doesn't work at all, and you find such an error in the web console of your browser, executing the code below will remove the database used by the script and 'solve' the issue. I guess it's obvious that this also removes the stored images.

Code: Select all

indexedDB.deleteDatabase('ImageOverlays');
Note that I haven't forgotten about the requested export/import function. Most of it goes fine now, only the image itself seems to still get corrupted during the import or export.
Glodenox
Waze Global Champs
Waze Global Champs
Posts: 1565
Answers: 1
Has thanked: 278 times
Been thanked: 940 times
Send a message
Belgium & Luxembourg Coordinator • Script Writing Community Coordinator
https://www.tomputtemans.com/images/WazeBelgium.pnghttps://www.tomputtemans.com/images/WazeWMEbeta.png

Post by Glodenox
It's already possible to change the transparency in the sidebar, only it is named "opacity" :)

As for the second request: I'm assuming this request comes from the way the script currently pans the map and zooms in on the image when you click it? Would it be acceptable if the script only moves towards the image if it is out of sight when clicked? I could perhaps add a crosshairs button for each image that moves you towards its location as well, but perhaps that's a bit too much as it would eat up quite a bit of space for the image name.
Glodenox
Waze Global Champs
Waze Global Champs
Posts: 1565
Answers: 1
Has thanked: 278 times
Been thanked: 940 times
Send a message
Belgium & Luxembourg Coordinator • Script Writing Community Coordinator
https://www.tomputtemans.com/images/WazeBelgium.pnghttps://www.tomputtemans.com/images/WazeWMEbeta.png

Post by Glodenox
I'll take a look at it (GitHub issue). If I remember correctly how I implemented that message, a small screen resolution could indeed cause the button to not be visible.
Glodenox
Waze Global Champs
Waze Global Champs
Posts: 1565
Answers: 1
Has thanked: 278 times
Been thanked: 940 times
Send a message
Belgium & Luxembourg Coordinator • Script Writing Community Coordinator
https://www.tomputtemans.com/images/WazeBelgium.pnghttps://www.tomputtemans.com/images/WazeWMEbeta.png

Post by Glodenox
Version 1.1.0 of the script has just been released!
The following fixes were applied:

Data sources notification message might not display completely on small screens
It was a bit harder to fix than I hoped, but it'll work much better now. Sadly enough I did have to make a small style change to an element that most scripts use: the tab-content container. However, the only change I made was making it stretch all the height it can stretch, which shouldn't affect any userscript negatively (it might even affect them positively!). Still, I don't like meddling with the Waze-styled elements.

Don't move the map if the image overlay is already visible at the current location
Whenever the image is ever so slightly still visible in the area you're currently looking at on the map, the map will not be panned and zoomed to the location of the image you just activated.

Allow fast hiding of the image while it is being added
It is now possible to click on the active image to make it hide again. This feels more natural than clicking the "hide overlay" button. I'll still keep the button though, just in case someone doesn't realise you can just click the name again to hide it.
I'm somewhat considering the ability to show more than one image at a time, though it would require changes to the script at several locations, so I'm a bit hesitant. I haven't experienced any use cases for this feature yet.

Disable "add overlay" button while you're adding an overlay
This one seems logical, but it wasn't there. Clicking the button again had some weird effects, so it needed to be fixed.

I've noticed that the "hide overlay" button appears when you're adding an image overlay (just after you chose your picture). Using that button makes the image go away, getting you stuck. I'll fix this in a later version. Maybe by just removing that button after all. Feel free to say what you think about that! :)

Also, you'll notice this version doesn't include the export and import functionality. I still haven't found why my code isn't working, so I put that feature on a side track for now. But don't worry! The code is safe and I'll try again later.
Glodenox
Waze Global Champs
Waze Global Champs
Posts: 1565
Answers: 1
Has thanked: 278 times
Been thanked: 940 times
Send a message
Belgium & Luxembourg Coordinator • Script Writing Community Coordinator
https://www.tomputtemans.com/images/WazeBelgium.pnghttps://www.tomputtemans.com/images/WazeWMEbeta.png

Post by Glodenox
I'm sorry to hear that is happening. Could you tell me which image you tried to store? I'm sort of suspecting the Indexed DB system I'm using in the background can't handle big images too well.

A more technical question: do you happen to see any error messages within the web console of the WME page? You can check the web console by pressing Ctrl+Shift+i at the page and selecting the Console tab in either Firefox or Chrome. It's probably best to filter the results by entering "Image Overlays". The messages about the user-info element not being available yet are normal.

I'm also starting to wonder whether I should support other ways of including an image as well. Do you guys think it would be practical if you could provide a link to an image instead? In my usage of the script I haven't really had a situation where I could just refer to an image that is available online. The big downsides I see is that the image could be blocked if it gets loaded within the WME (which will only be visible next time you try to use it due to caching) AND that the image could get removed over time on the source website.
Glodenox
Waze Global Champs
Waze Global Champs
Posts: 1565
Answers: 1
Has thanked: 278 times
Been thanked: 940 times
Send a message
Belgium & Luxembourg Coordinator • Script Writing Community Coordinator
https://www.tomputtemans.com/images/WazeBelgium.pnghttps://www.tomputtemans.com/images/WazeWMEbeta.png

Post by Glodenox
(we've continued on the issue in PM)

I've just been reading into it more. It seems like Chrome has recently adjusted how it decides whether something gets persisted over sessions. I think I'll need to explicitly ask permission for persistent storage. Either way, I'll look into it.
Glodenox
Waze Global Champs
Waze Global Champs
Posts: 1565
Answers: 1
Has thanked: 278 times
Been thanked: 940 times
Send a message
Belgium & Luxembourg Coordinator • Script Writing Community Coordinator
https://www.tomputtemans.com/images/WazeBelgium.pnghttps://www.tomputtemans.com/images/WazeWMEbeta.png

Post by Glodenox
I've been investigating the issue of persistent storage a bit more.

In Firefox I will make the script pop up a prompt that asks whether the data may be stored persistently. This way it will become very unlikely that the data would ever by removed by the browser.

In Google Chrome there is no way to ask for this permission. I can only check whether data is stored persistently or not and decide to display a warning to notify you when it isn't. Chrome will only allow the persistent storage if one of the following conditions is true:
  • The site is bookmarked (and the user has 5 or less bookmarks)
  • The site has high site engagement
  • The site has been added to home screen
  • The site has push notifications enabled
Not ideal, but it's the best I can do.
Glodenox
Waze Global Champs
Waze Global Champs
Posts: 1565
Answers: 1
Has thanked: 278 times
Been thanked: 940 times
Send a message
Belgium & Luxembourg Coordinator • Script Writing Community Coordinator
https://www.tomputtemans.com/images/WazeBelgium.pnghttps://www.tomputtemans.com/images/WazeWMEbeta.png

Post by Glodenox
Version 1.2.0 has just been released with the new persistent storage permission request whenever you add a new image overlay. If you are using Google Chrome, I'd highly advice to add the WME to your favourites so the storage can become persistent.

I hope this will solve the sporadic disappearing of image overlays. I still intend to support the exporting and importing of these images, but I haven't been able to figure out what is going wrong yet.
Glodenox
Waze Global Champs
Waze Global Champs
Posts: 1565
Answers: 1
Has thanked: 278 times
Been thanked: 940 times
Send a message
Belgium & Luxembourg Coordinator • Script Writing Community Coordinator
https://www.tomputtemans.com/images/WazeBelgium.pnghttps://www.tomputtemans.com/images/WazeWMEbeta.png