A process for detecting and connecting to wireless local area networks WLANs to exchange global positioning system GPS data and information between a GPS receiver having a wireless network adapter and a master GPS server, comprising the steps of: detecting whether the GPS receiver is in motion or stationary; collecting GPS records about the current location and movement speed data using the GPS receiver in five second intervals if the GPS receiver is in motion and in ten minute intervals if the GPS receiver is stationary; storing the collected GPS records and movement speed data in a volatile memory database contained in the GPS receiver; scanning for available WLANs within range of the GPS receiver; detecting available WLAN access points in range of the GPS receiver; generating a list of WLAN access points in range of the GPS receiver; sorting the list of WLAN access points in range of the GPS receiver by ranking them based upon a known access points file, a blacklist access points file, signal strength, or security of the WLAN access points; attempting to connect the GPS receiver to a WLAN access point on the sorted list; attempting to connect to the first ranked access point first, if the said first ranked access point is not connectable, then attempting to connect to the next ranked access point on the sorted list until a connection is established with a selected WLAN access point; connecting the GPS receiver to a selected WLAN through the selected WLAN access point; sending the GPS records from the GPS receiver to the master GPS server over the selected WLAN; and receiving, by the GPS receiver, information or software from the master GPS server over the selected WLAN. detecting whether the GPS receiver is in motion or stationary; collecting GPS records about the current location and movement speed data using the GPS receiver in five second intervals if the GPS receiver is in motion and in ten minute intervals if the GPS receiver is stationary; storing the collected GPS records and movement speed data in a volatile memory database contained in the GPS receiver; scanning for available WLANs within range of the GPS receiver; collecting GPS records about the current location and movement speed data using the GPS receiver in five second intervals if the GPS receiver is in motion and in ten minute intervals if the GPS receiver is stationary; storing the collected GPS records and movement speed data in a volatile memory database contained in the GPS receiver; scanning for available WLANs within range of the GPS receiver; detecting available WLAN access points in range of the GPS receiver; generating a list of WLAN access points in range of the GPS receiver; sorting the list of WLAN access points in range of the GPS receiver by ranking them based upon a known access points file, a blacklist access points file, signal strength, or security of the WLAN access points; attempting to connect the GPS receiver to a WLAN access point on the sorted list; attempting to connect to the first ranked access point first, if the said first ranked access point is not connectable, then attempting to connect to the next ranked access point on the sorted list until a connection is established with a selected WLAN access point; connecting the GPS receiver to a selected WLAN through the selected WLAN access point; sending the GPS records from the GPS receiver to the master GPS server over the selected WLAN; and receiving, by the GPS receiver, information or software from the master GPS server over the selected WLAN. connecting the GPS receiver to a selected WLAN through the selected WLAN access point; sending the GPS records from the GPS receiver to the master GPS server over the selected WLAN; and receiving, by the GPS receiver, information or software from the master GPS server over the selected WLAN.