Ephemeris data is downloaded intelligently to a GPS-enabled wireless
communications device based on user activity rather than at fixed
predetermined intervals. Ephemeris data can be downloaded to enable both
Aided GPS and Assisted GPS. The device can download ephemeris data based
on the frequency of requests into an API communicating with a GPS driver,
based on the detection of a new network, or a change in time zone of the
network time. Intelligent, adaptive downloading of ephemeris optimizes
the usage of bandwidth and the data charge to the user while ensuring
that ephemeris data is cached to provide assistance for location-based
services such as turn-based navigation.