Just finished updating the Europe Cycle Tour, drawing the route that we took using GPX Draw and using a combination of the gpssave gallery2 module and also some perl scripting to position the photos in the right spots on the map.
Click here to have a look:
That was the last of the cycle tours to convert for Google Maps, it has been a challenging project, I have had to learn a couple of different API’s, programming languages and developing new modules for Gallery2 but I think it has all been worth it. I like how I can have a overview of all the tours and the cycling stats shown graphically.
Having drawn the routes for Tasmania, Syd-to-Melb, New Zealand, South East Asia, and India, suddenly things started to get pretty slow with my Cycle Tour Google Map. Adding more photos to the corresponding albums made things even slower so I had to find a way of making the performace atleast reasonable.
The solution I found was to use album filters so that the different tours are separated and hence only the tracks and photos for the selected area are loaded. I had to go through the Google Module code to add a test for $map.Filter using Smarty, I’ve had to use so many different languages for this Google Maps project and they all start to merge and mix with each other in my head! Anyway it’s working now and the performace is reasonable.
The next problem was that many of the photos were very close together and would sit on top of each other so the user wouldn’t be able to select them unless she zoomed right in. I started changing the GPS values through the Google Module Admin form but that was very painful because it is not interactive, I needed a better way of editing the GPS of the photos. So after consulting with Termite, who is one of the main developers of the Map Module, I started programming my first Gallery2 Module.
The aim of the module is to allow you to interactively move many photo markers around the map and have their GPS data saved to database via AJAX. After a crash course through Gallery2 Module development I made a copy of a simlar module and dove right in. It took about a day to get something working and another half a day to code some helper classes for the module, it works but it is pretty scary, if you dont know what you are doing you can easily stuff up your database up and there are some security risks as well if you leave the module installed so I am not going to release the module publicly but if anyone is interested in it and want to try it at their own risk then drop me a line.
Today I added some photos for the Tasmania Cycle Tour which was my first Tour, back then I didnt have a digital camera so the photos dont have timestamps and I cann’t work out the GPS automatically, so for some of the photos I had to guess where the photo was taken. But atleast for the New Zealnad tour which I am scanning the photos in soon, I wrote the place names on the back of the photos which will make it a bit easier.
I have been using watercolours in the lifedrawing sessions for the last month or so which has freed me up a bit. Although I think the poses are too short for handling colours, I always seem to run out of time before I have everything down, might have to try one of the longer sessions.
I have added the Indian Bicycle Tour to the Bicycle Tours Google Map section in the tab above. India was a challenging one to draw a track for because there is so little information for it in Google Maps. I had to go into Google Earth and put markers for the places where we stayed and then export this as a KML, and then modify my GPX Draw application to read the KML. Once that was done I went through the markers and added the cycling information.
I have also changed the campsite icons to small points because they made everything pretty crowded and the path could no longer be seen if you were zoomed out. I am thinking about having some sort of hover effect on the icons to save more space.
The tile-layer method of handling large number of points seems to be working well, I have added a lot more points now but the performance is still reasonable. Another option would be to use the new feature in Google Maps API which allows zoom specification for polyline points in order to increase performace.
Having put aside the Bicycle Tours Google Maps development for a while I came back to it today because of a comment that a user made. The problem that I was having was that when I put in all the points for my tracks as polylines the data started to get quite heavy and the performance went down, this was dissappointing because I wanted to add a lot more data, so I left it for a while.
Martin left a comment a little while ago that instead of feeding polylines to the Google Map I could create custom Tile Overlays from a KML file and then display the tile overlay with much better performance for large number of points.
That’s what I have been working on today and it turned out to be easier than I thought, Mike’s page was (as always) very useful. I looked around for a way of converting my GPX files to KML but after a little while I realized it would be much easier to modify my own code for GPX DRAW to output KML than to go searching for a converter which did what I wanted it to.
Once I had KML files for my routes all that I needed to do was to modify the Maps Module to display the overlays and that was it. I also added some filters so you can centre on various Tours, so far I have “Sydney to Melbourne”, “Tasmania” and “New Zealand”. The Tasmania and New Zealand tours dont have any photos attached to them because I didnt have a digital camera back then so I will need to scan the photos in can then manually place them. But I think I will leave that for now and do the “India” tour which does have digital photos available for it, the challenge there is with the maps, we could not find very good/detailed maps of India so the routes may not be very accurate.
On and off for the last couple of weeks I have been working on a flash effect for a client. The brief was to create 12 or so tentacles which would respond to the movement of the mouse as if it was the wind. After a bit of research I discovered Flade which is a 2D physics simulation library for Flash, I did a number of tests for the client but in the end they decided not to go head with this particular effect but I still like it, it is like one of those executive toys.
Here is one of the tests:
I have been asked for the source for this, I didnt find exactly the one I was looking for but inside the following zip file you will find /examples/two boxes/twoboxes.fla, that will give you the general idea of how it is working. I also modified some of the primitive graphics routines to draw a solid black line, you will have to change things to suit your project.
Well Actionscript 3.0 and the public alpha of Flash 9 is out and as a way of getting into the new features of Actionscript 3.0 I have been working on a little puzzle game for the past week or so.
It is based on the numbered-blocks puzzle game where you have one empty cell and you have to move the blocks around until you get all the blocks in order. Instead of using numbers on the face of the blocks I am using parts of an image. The images are randomly chosen from an album in my gallery, right now there are only a few images in there and they do not go with the “outback” look of the games interface so I will have to go through my photos and choose some more suitable images but for now they will be fine.
The game also has a Highest Score list which uses PHP and MySQL to store the scores in a database, thanks to Erwan for writing PHP script for accessing the database.
I am looking to add some background music and some sound effect to the game, if you have any pointers for suitable music then drop me a line.
I found this flash site full of Open Source resources for flash developers, check it out there are so many flash projects happening it is amazing:
I ran into this while looking for a way of accessing a SQL database on a Windows Server from Flash. You can do it with Flash Remoting but that is pretty expensive. I found Fluorine which is an open source implementation of .NET Flash Remoting Gateway but I haven’t got my head around all the jargon yet so I am not sure if it is any good for what I want it for. All I want to do is access the database but unfortunately this server doesn’t have PHP so I have to do things through .NET, and jump through all these Microsoft jargon hoops.
Also found this article which might be what I am looking for but still not to sure, it would help if I had a sample database running on my own machine to fiddle with and learn about it.