Nekonome.9076:

Hello everybody
As this is my first post here, I wanted to thanks everybody for their works and questions and explanations that allowed me to not drown in the API and their usage.

So my question is :
I created a little map program : Minimap
It works in windowed mode for the moment.

This use a cache method for the map, because my goal is to make a tool with low bandwidth usage, and quick at display.

The problem is, when an update is made in the map of gw2, how can I know which tiles must be re-downloaded ?
I thought about deleting them at each change of version, but it’s not the best way since all the tiles will have to be downloaded again.

Is there a way I didn’t see ? or if not, is it possible to have in the future some information about the tile version (a new API ?) ?

Thanks you in advance

smiley.1438:

As far as i remember, there was only one significant update of the continent map tiles yet: when the ruins were added to WvW. Temporary content has never been added to the continents maps (not even the toxic stuff in kessex, which is already there for over 3 months or so?) and i doubt this will happen in near future. However, instance maps are usually added with their respective game updates.

Also, unfortunately Anet doesn’t seem to bother to tell us if there were map tile updates, so you’ll need to check manually if something has changed. You might want to check out a script i wrote to get a portion of the map:

https://gist.github.com/codemasher/75d8e1a24b2363cabebf

Demo over here: http://gw2.chillerlan.net/examples/gw2staticmaps.php

Nekonome.9076:

The modification I was speaking of were in Kessex. And as you can see on the following image, they are put on the map :
!https://tiles.guildwars2.com/1/1/7/41/57.jpg!

Sweet work you’ve done !

The difference is that my app is local (but that is not the subject )
In the app i handle the tiles individually, so that’s not a problem.

smiley.1438:

Oh, i see, i just checked on minimum zoom and Kessex didn’t look if it has been changed at all.

The script is just intended as a simple (and hopefully understandable) example which could basically ported to any other language

Kegsay.7068:

You could probably do this in a low bandwidth setting by prodding build.json for a change in version. If there is a change in the version, enumerate all map tiles with an HTTP HEAD at a given zoom level (too far in is pointless, too far out may miss subtle changes like Kessex). You could further optimise this by prioritising user-visible tiles.

Of course, this isn’t going to be quick, but you’ll make significant bandwidth savings over time by just HEADing for changes in Last-Modified or the ETag.

Nekonome.9076:

You mean that a change in the image is somewhat detectable in the HTTP header ?