Uploading MapPoint Locations To Your GPS
"Having found the address with MapPoint, how do you get it into your GPS? Very often I have faced this problem," writes Evert Mouw.
You can use the “location sensor” to see the WGS 84 coordinates,
but then need to enter the coordinates manually in your GPS
receiver. Much work, very clumsy.
However, after discovering MP2K Magazine I quickly learned how to
make a COM add-in from the examples and from the MSDN website to
do just that. Originally, I expected much from the location
object / property. But too bad, it doesn’t reveal the WGS 84
coordinates because of copyright regulations or whatever. So when
I discovered the VBA function which was able to return the WGS 84
location given a location, I was very pleased. This code (freeware)
was written by
Gilles Kohl. Now I am able to walk through all pushpins and
waypoints and get the coordinates.
But how do I get the coordinates directly into my GPS? The MapPoint
2002 object model doesn’t support that, but the NMEA serial port
protocol is not very complicated. I gathered information about the
NMEA commands. Using the MS Comm Control 6.0 that is included with
Visual Basic 6.0 Professional (MSCOMM32.OCX), it’s possible to send
text commands over the Com port.
And then it’s very easy to walk through all waypoint and pushpin
locations, calculate the WGS 84 coordinates for each location and
store the information in arrays, design a simple form to show the
names of the locations and their coordinates, and create a button
“send to GPS”. Now I can send my waypoints from MapPoint to my GPS
very fast.
The project is still in alpha phase, there are some bugs and a
number of things to improve. For starters, it would be nice if the
add-in would detect the COM port automatically. Also, waypoints
with the same name are overwritten without warning if they already
exist in the GPS. Importing waypoints or pushpins from the GPS
would be nice too. And it shouldn’t mix up pushpins when deleting
pushpins, and I don’t like the error message after exiting MapPoint
complaining about a “pure virtual function call”. And what about
memory management? Currently, I use Dim points (1 to 100). When you
have > 100 pushpins, I’m sorry. If you have just three waypoints,
it uses too much memory…
The source code is available for persons who are willing to improve
the code. The compiled code is available for everyone to play with,
but be conscious about hidden bugs Of course, this little project
must remain open source so everyone can improve and benefit.
See WaypointsToGPS on my
webpage to download the binary and source code and view installation instructions