System and method for storing and providing routes
In one aspect, a system and method is provided whereby map-related requests from mobile devices are used to store and aggregate routes. The routes are then used to determine optimum directions in response to subsequent requests.
1. A method comprising:
receiving, by one or more processors, a starting location and an ending location;
receiving, by the one or more processors, a selected route for a first device wherein the selected route is selected based on the starting location, the ending location, and a plurality of routes previously travelled by client devices;
receiving, by the one or more processors, a location of the first device, wherein the first device comprises a geographic location component and the location of the first device is provided by the geographic location component;
determining, by the one or more processors, whether the location of the first device is approaching a location associated with a point of interest;
providing, by the one or more processors, turn directions associated with a first turn of the selected route to a user via the first device when the first device is approaching the location associated with the point of interest;
wherein the turn directions associated with the first turn are expressed to the user as instructions identifying the point of interest and a direction relative to the point of interest;
determining, by the one or more processors, whether a second turn of the selected route is associated with a street or a point of interest stored in a database; and
providing, by the one or more processors, second instructions to the user with respect to the second turn, wherein the second instructions identify a turn direction without a name of a street or a point of interest when the second turn is determined to be not associated with a street or point of interest stored in the database.
2. The method of claim 1 further comprising determining whether the turn directions correspond with a street name stored in a database, wherein the turn directions identify the street name when the turn directions correspond with a street name stored in the database.
3. The method of claim 1 wherein the turn directions are a combination of a street name and a name of the point of interest.
4. The method of claim 1 , wherein said point of interest comprises a first point of interest, the method further comprising receiving, from a user, a name of a second point of interest and determining the ending location based on the second point of interest.
5. The method of claim 4 , wherein determining the ending location further comprises searching a database containing the name and location of the second point of interest.
6. The method of claim 1 , wherein the starting location is received from the geographic location component.
7. The method of claim 1 wherein the second instructions further comprise a distance between the location of the first device and the second turn.
8. The method of claim 1 wherein a portion of the selected comprises travel by automobile and another portion of the selected route comprises travel by train.
9. A system comprising:
one or more processors,
memory storing instructions, the instructions being executable by the one or more processors,
a geographic location component,
wherein the instructions comprise:
receiving a starting location and an ending location;
receiving a selected route for a first device wherein the selected route is selected based on the starting location, the ending location, and a plurality of routes previously travelled by client devices;
receiving a location of the first device provided by the geographic location component;
determining whether the location of the first device is approaching a location associated with a point of interest; and
providing turn directions associated with a first turn of the selected route to a user via the first device when the first device is approaching the location associated with the point of interest;
wherein the turn directions associated with the first turn are expressed to the user and identify a point of interest and a direction relative to the point of interest;
determining, by the one or more processors, whether a second turn of the selected route is associated with a street or a point of interest stored in a database; and
providing, by the one or more processors, second instructions to the user with respect to the second turn, wherein the second instructions identify a turn direction without a name of a street or a point of interest when the second turn is determined to be not associated with a street or point of interest stored in the database.
10. The system of claim 9 wherein the instructions further comprise determining whether the turn directions correspond with a street name stored in a database, wherein the turn directions identify the street name when the turn directions correspond with a street name stored in the database.
11. The system of claim 10 , wherein the turn directions are a combination of a street name and a name of the point of interest.
12. The system of claim 9 , wherein said point of interest comprises a first point of interest, the wherein the instructions further comprise receiving, from a user, a name of a second point of interest and determining the ending location based on the second point of interest.
13. The system of claim 9 , wherein the starting location is received from the geographic location component.
14. The system of claim 9 wherein the geographic location component comprises a GPS receiver.
15. The system of claim 9 wherein the system further comprises a display, and wherein the instructions further comprise displaying the turn directions on the display.
16. The system of claim 15 wherein the system comprises an Internet-capable cellular phone and the system receives the selected route via the Internet.
17. A device comprising:
one or more processors,
memory storing instructions, the instructions being executable by the one or more processors,
a geographic location component,
wherein the instructions comprise:
receiving a starting location and an ending location from a user of the device;
receiving a route for the device wherein the route is based on the starting location, the ending location, and a plurality of routes previously travelled by client devices, wherein the route includes a turn from a first street onto a second street at a turn location;
receiving a current location of the device from the geographic location component;
determining whether the current location of the device is approaching the turn location;
determining whether the turn is associated with a location of a point of interest;
determining whether a name of the second street is stored in a database; and
providing turn instructions to a user via the device when the device is approaching the turn location;
wherein the turn instructions comprise a name of a point of interest and a turn direction relative to the point of interest when the turn location is associated with the location of the point of interest;
wherein the turn instructions comprise the name of the second street when the name of the second street is stored in the database; and
wherein the turn instructions do not include the name of a point of interest or the name of the second street when the turn is not associated with a location of a point of interest and when a name of the second street is not stored in the database.
18. The device of claim 17 wherein the turn instructions comprise a turn direction and a distance to the location of the turn.
19. The device of claim 17 wherein the device further comprises a network interface device or modem and the route comprises receiving the route from a computer remote to the device via a network and the network interface device or modem.