That's really awesome.
I started this a few days ago when I got my mouse GPS, so its alittle incomplete, but it works. I live in australia so at the moment thats the only location it really works in (With small modifications it could work else where). I am just using some maps joined together from whereis.com.au
The map is a .gif and I made it load using an ini file to setup 2 points of references.
If there is some interest I could probably upload the source code. I built it using 2 basic classes, so the code could easily be put into another project as a basic guide. Its currently written in vb, but I was thinking of porting it to c++ some time.
Here are some screenshots.
In the car park at uni:
Driving along the highway:
Crossing the ever famous Nepean river:
The "short cut" to uni... dont ask:
It only has basic functionality, updates the map position according to the gps position, you can zoom in and out etc.
The velocity speeds are very wrong, I was only playing around with some of that code. So I still got to fix that.
Comments / suggestions?
Originally Posted by Hellcat
wow, it's been a long time since my last post!
i reckon you'll gonna make a lot of aussies happy here (if not some)...
there has been some discussions about gps apps from the distant past in this forum, let me give you those links:
GPS software with directions - Australia
Australian (Melbourne area) map/software for GPS
..GPSS (the one i used) does exactly what you are trying to achive, plus some more. the problem with it is that "extra features", i mean in a carputer setup with a small screen, you will only need the very basic information such as the moving map, speed, long/lat, and some few, the rest of your attention should be on the road. plus GPSS talk too much, and interface is the worst i've ever seen (sorry i have to be honest) text info are too small.
could i have the source code first before you port it to c++? if this can be integrated in mediacar, it's gonna be a killer app!
very, very, very, good work mate.
[HW] 566eMHz/128mb/6gb, FlyVideo3k, RandMgps, M1-ATX, 7" Lilliput, VGA2AVadptrFor2ndVideo, 4CH/100rms, 10"Sub, 40AhDeepCycleTank
[Working on] puttingBackEvrythg.
nice work.. im an aussi too.
can u put in a destination for it to guide u to?
Thanks for the feedback.
I will probably finish the vb version before I port it to c++ so then I can ensure that its as close as I can get to optimised. So no worries, I will make it abit more user friendly (different ports etc for GPS, atm its hard coded) and release a version for people to play with.
I want to make this a feature, adding nearest hospital, police station, path optimisation etc but this involves alot of boring stuff such as mapping out names to points on the map. So I am really just delaying it, fun stuff now.Originally Posted by djmickyg
Okay, I havnt done much (or anything) since my last post. But I have uploaded the source code / exe for you guys to check out. Because you may live in another area other than australia bits will need modifying, I dont have time to do that right now. (or effort )
First up here is the download:
To setup the GPS options open the ini file called "gpsConfig.ini" in your base directory. In there it will have the commport, and your unit of measurement. Even if you are using a usb mouse gps it will be mapped to a virtual comm port.
The map is also only of my area, so to test it you will need a basic map of your area. To set it up go into the maps directory, and open the ini file. I will describe modifying it soon.
To open a map you point your class call:
classhere.createMap(picRendMap, App.Path & "\map\ini file")
The picRendMap is the name of the picture box you wish to render the map into. This is all contained within the project, I just wanted to show how you can open different maps on the fly.
In the map ini file there are several values. The first is the name of the map file. I recommend using .gif because they are small for the quality, but each to their own.
Now to be able to tell your position on the map, we need to setup two reference points, and the pixels that they corrospond to on the image file. I recommend driving to 2 locations that are a long distance apart and both on your map, and writing down the GPS co-ordinates. Using something such as an intersection will make it easier to find the point on the map. The further apart your distances the greater your accuracy. But some poeple cant do that, so failing that you could probably find co-ordinates using google and match them to a map.
Once you have your 2 points, find the locations on the image of the map. Using a paint program such as paint shop pro (you can download an evalution copy) move your mouse to the point 1 on the map. Copy down the X and Y values. The x value becomes your "pixil1Long" value, and the y value becomes your "pixil1Lat" value.
Do the same with the 2nd reference point.
You will also need to setup the map width and height in the ini file. This will be fixed soon so it will calculate it without you soon.
Now test run it, if something is wrong then either
a) It doesnt have support for other countries yet, implementing is easy, its just I havnt had time yet.
b) There is an unknown bug (pretty unlikely, but possible!)
c) You messed up something in the map ini file or gpsConfig.ini
Good luck with it, hopefully soon I will get some more time with it and add some real features.
Comments / suggestions?
Signature: [==||========] 20% complete
I understand the principle on how to convert lat/long to pixels on a map, however dont know how to do it if that makes sense.
Could you possibly explain this?
i would have a look at your source but dont have VB.
@Hellcat: keep going on it... there are a lot of us who want a decent gps solution for OZ without the huge price tag
Never let the truth get in the way of a good story
i think i might have a friend that goes to your uni. he has a similar short cut by the looks of it.....