This project has moved and is read-only. For the latest updates, please go here.


Sep 15, 2010 at 8:01 PM

I found this project a few days ago and wanted to say thanks.  It really helped me out with an internal demo in talking to our TMS server.

I ran into a couple issues and wanted to give back.  First is that my TMS server would always throw 500 errors and I tracked it down to the requests not having a user agent specified.  Not sure exactly why this is but adding anything in the user agent field fixed it.

Second my demo needed to be launched from a mxd file due to its custom front end.  So I roughed in IPersistStream to BruTileLayer and made save and load work for me,  can't say I really tested it for anything other than tms layers but it should work for at least some of the other types.  I am willing to send you a patch if you would like it.



Sep 17, 2010 at 1:13 AM

OK great you liked our work! One of the workitems i have is to implement persistence for all BruTile layers. If you can send sample code/patch it will be high appreciated.

Regards, bert

Sep 17, 2010 at 1:14 AM

and one question I have to reproduce the 500 error: what TMS server do you use?

Sep 17, 2010 at 9:28 PM

You can try our TMS server at

It happend both when getting the layer list and when getting tiles and I worked around it by setting the user-agent.

For the persistence, I had to make a few changes to BrutileLayer.  It needed a GUID, a defuault no arguement constructor, and inherit from IPersistStream.  I also added IGeoDataset so zoom to layer would work.  When writing out I added a couple accessors to the configs so they could identify themselves,  Ideally If I wasn't just hacking this in the configs would be able to write themselves and the factory could construct one from the stream when reading it in.  I will try to send it up using the submit patch thing let me know if it does not work.  I made my changes to version 56754



Sep 29, 2010 at 6:52 PM

thanks a lot, great work, I've included the code from your patch. There was no need to change the config files, BruTileLayer has now a member EnumBruTileLayer. The tiles from your TMS server and 'Zoom to layer' are working also.

Nov 9, 2010 at 8:15 PM

nb: i've added vr-theworld tile server to the TMS dialog as sample url