ZylGPSReceiver is an award-winning Delphi component that communicates with a GPS receiver. It returns latitude, longitude, altitude, speed, heading and many other useful parameters of the current position and the parameters of the satellites in view. The component is extended to calculate distances and make conversions between different measurement units.
This component works with any NMEA compatible receiver connected to one of the serial ports.
You can use it also with USB, Bluetooth devices, because these devices usually have a driver that redirects the input from the USB port to a virtual serial port. If your device is not provided with such a driver, then use a USB controller whose vendor provides a virtual serial port driver, such as FTDI or use a USB/RS-232 adapter.