It is easy to think that developing an application for Windows Mobile using the built in GPS unit requires a lot and complex code. Luckily this is not the case. You can actually have the base for a .NET Compact Framework GPS application up and running in less than 10 minutes if you choose the correct tools.
This post describes what I have found to be the easiest and fastest way to create an application that is interacting with the GPS unit in .NET Compact Framework.
Windows Mobile have created a sample for using the GPS intermediate driver from managed code and this is all you need to get started. The sample is included with the Windows Mobile 6 Professional SDK. How to use this is explained very well at the Windows Mobile Development Center: Using the GPS Intermediate Driver from Managed Code.
If you do not have any special needs you can use this directly by compiling the sample and adding the .dll as a reference in your project. If you need to customize it you can simply just add the sample source code to your project and modify/extend it where needed.
This is all you need to start developing your GPS application.
It is always a good thing to be able to simulate the GPS unit in your emulator so testing and debugging can be done efficiently. Windows Mobile 6 SDK ships with a utility tool called FakeGPS that can easily be installed on your emulator. This is also explained very well at the Windows Mobile Development Center: Using the FakeGPS Utility.
Now you are able to both develop and test/debug your GPS application. This fast and easy implementation will be sufficient for most of your needs. Of course you need to develop your application logic and how to use the data you get from the GPS but that is the fun part.