A mobile communication device (e.g., a cell phone, a personal digital assistant (PDA), a global positioning system (GPS) navigation device, etc) may display a map showing the location of a user of the mobile communication device in order to aid the user with navigation (e.g., when walking or driving around an unknown location). Many navigation applications enable the mobile communication device user to input information, such as a starting point, a destination point, how a path between the starting and destination points should be calculated (e.g., shortest distance, shortest time, most use of highways, etc.), etc. The navigation applications utilize this information to calculate a path for the mobile communication device user.
The navigation applications also enable the mobile communication device user to perform a local search for points of interest (e.g., stores, restaurants, gas stations, etc.). The local search is performed in a radial pattern with a current location of the mobile communication device as the center point. The search results provided based on the local search may be ahead of, to the left of, to the right of, or behind the mobile communication device's current location. However, such navigation applications do not permit the mobile communication device to limit the local search results to points of interest in the direction of travel (e.g., the forward direction) of the mobile communication device.
The following detailed description refers to the accompanying drawings. The same reference numbers in different drawings may identify the same or similar elements. Also, the following detailed description does not limit the invention.
Systems and/or methods described herein may enable a user to filter points of interest search results provided by a navigation application associated with a mobile user device (e.g., a cell phone, a PDA, a GPS navigation device, etc.) to points of interest in a direction of travel of the mobile user device and/or along a user-defined path. In one implementation, for example, the systems and/or methods may receive GPS (or global navigation satellite system) coordinates associated with a mobile user device, and may determine a direction of travel of the mobile user device based on the GPS coordinates. The systems and/or methods may receive, from the mobile user device, a search request for points of interest in the direction of travel, and may determine, based on the search request, one or more points of interest in the direction of travel. The systems and/or methods may provide, to the mobile user device, the determined one or more points of interest in the direction of travel.
As used herein, the term “user” is intended to be broadly interpreted to include a user device or a user of a user device. A “path,” as the term is used herein, is to be broadly interpreted to include a course between two points, a route between two points, etc. Furthermore, the term “user device,” as used herein, is intended to be broadly interpreted to include a mobile user device or a stationary user device.
Mobile user device 110 may include any device (e.g., a mobile communication device) that is capable of accessing server 130 via network 140. For example, mobile user device 110 may include a radiotelephone, a personal communications system (PCS) terminal (e.g., that may combine a cellular radiotelephone with data processing and data communications capabilities), a personal digital assistant (PDA) (e.g., that can include a radiotelephone, a pager, Internet/intranet access, etc.), a laptop computer, a GPS navigation device, an in-vehicle GPS navigation system, an in-vehicle global navigation satellite system, or other types of computation or communication devices, threads or processes running on these devices, and/or objects executable by these devices. In one implementation, mobile user device 110 may enable a user to filter points of interest search results, provided by a navigation application associated with mobile user device 110, to points of interest in a direction of travel of mobile user device 110 and/or along a user-defined path.
Stationary user device 120 may include any device that is capable of accessing server 130 via network 140. For example, stationary user device 120 may include a laptop computer, a personal computer, a set-top box (STB), a television, or other types of computation or communication devices, threads or processes running on these devices, and/or objects executable by these devices. In one implementation, stationary user device 120 may enable a user to customize a calculated path provided by a navigation application associated with mobile user device 110. The user, via stationary user device 120, may customize the calculated path by inputting intermediate points (e.g., locations to travel past that may be between a starting point and a destination point) and/or additional path information (e.g., utilize certain streets, highways, etc. between the starting and destination points).
Server 130 may include one or more server entities, or other types of computation or communication devices, that gather, process, search, and/or provide information in a manner described herein. In one implementation, server 130 may receive (e.g., from mobile user device 110) GPS (or global navigation satellite system) coordinates associated with mobile user device 110, and may determine a direction of travel of mobile user device 110 based on the GPS coordinates. Server 130 may receive, from mobile user device 110, a search request for points of interest in the direction of travel, and may determine, based on the search request, one or more points of interest in the direction of travel. Server 130 may provide, to mobile user device 110, the determined one or more points of interest in the direction of travel of mobile user device 110.
Network 140 may include a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network, such as the Public Switched Telephone Network (PSTN) or Public Land Mobile Network (PLMN), an intranet, the Internet, or a combination of networks.
Processing unit 220 may include one or more processors, microprocessors, or other types of processing units that may interpret and execute instructions. Main memory 230 may include a random access memory (RAM) or another type of dynamic storage device that may store information and instructions for execution by processing unit 220. ROM 240 may include a ROM device or another type of static storage device that may store static information and/or instructions for use by processing unit 220. Storage device 250 may include a magnetic and/or optical recording medium and its corresponding drive.
Input device 260 may include a mechanism that permits an operator to input information to device 200, such as a keyboard, a mouse, a pen, a microphone, voice recognition and/or biometric mechanisms, a remote control, a touch screen, etc. Output device 270 may include a mechanism that outputs information to the operator, including a display, a printer, a speaker, etc. Communication interface 280 may include any transceiver-like mechanism that enables device 200 to communicate with other devices and/or systems. For example, communication interface 280 may include mechanisms for communicating with another device or system via a network, such as network 140.
As described herein, device 200 may perform certain operations in response to processing unit 220 executing software instructions contained in a computer-readable medium, such as main memory 230. A computer-readable medium may be defined as a physical or logical memory device. A logical memory device may include memory space within a single physical memory device or spread across multiple physical memory devices. The software instructions may be read into main memory 230 from another computer-readable medium, such as storage device 250, or from another device via communication interface 280. The software instructions contained in main memory 230 may cause processing unit 220 to perform processes described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
Although
Display 320 may provide visual information to the user. For example, display 320 may display text input into mobile user device 110, text, images, video, and/or graphics received from another device, and/or information regarding incoming or outgoing calls or text messages, emails, media, games, phone books, address books, the current time, navigation directions, etc. Control buttons 330 may permit the user to interact with mobile user device 110 to cause mobile user device 110 to perform one or more operations. For example, control buttons 330 may be used to cause mobile user device 110 to transmit information. Keypad 340 may include a standard telephone keypad. Microphone 350 may receive audible information from the user.
Although
Processing unit 400 may include one or more processors, microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or the like. Processing unit 400 may control operation of mobile user device 110 and its components. In one implementation, processing unit 400 may control operation of components of mobile user device 110 in a manner described herein.
Memory 410 may include a random access memory (RAM), a read-only memory (ROM), and/or another type of memory to store data and instructions that may be used by processing unit 400.
User interface 420 may include mechanisms for inputting information to mobile user device 110 and/or for outputting information from mobile user device 110. Examples of input and output mechanisms might include buttons (e.g., control buttons 330, keys of keypad 340, a joystick, etc.) or a touch screen interface to permit data and control commands to be input into mobile user device 110; a speaker (e.g., speaker 310) to receive electrical signals and output audio signals; a microphone (e.g., microphone 350) to receive audio signals and output electrical signals; a display (e.g., display 320) to output visual information (e.g., text input into mobile user device 110); and/or a vibrator to cause mobile user device 110 to vibrate.
Communication interface 430 may include, for example, a transmitter that may convert baseband signals from processing unit 400 to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals. Alternatively, communication interface 430 may include a transceiver to perform functions of both a transmitter and a receiver. Communication interface 430 may connect to antenna assembly 440 for transmission and/or reception of the RF signals.
Antenna assembly 440 may include one or more antennas to transmit and/or receive RF signals over the air. Antenna assembly 440 may, for example, receive RF signals from communication interface 430 and transmit them over the air, and receive RF signals over the air and provide them to communication interface 430. In one implementation, for example, communication interface 430 may communicate with a network and/or devices connected to a network (e.g., network 140).
As will be described in detail below, mobile user device 110 may perform certain operations described herein in response to processing unit 400 executing software instructions of an application contained in a computer-readable medium, such as memory 410. The software instructions may be read into memory 410 from another computer-readable medium or from another device via communication interface 430. The software instructions contained in memory 410 may cause processing unit 400 to perform processes that will be described later. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.
Although
A user associated with mobile user device 110 may access a GPS navigation application (e.g., software that provides navigation with route calculation and directions to the user of the route to take, based on a vector-based map; software that provides navigation tracking and shows where you have been; Nav N Go; TomTom Navigator; TomTom Mobile; DeLorme Street Atlas; ALK CoPilot Live Laptop; Destinator; Garmin nRoute; Microsoft Streets and Trips; Google Earth; Google Maps; VZ Navigator; etc.) associated with mobile user device 110. Mobile user device 110 may be moving in a direction of travel 510 (e.g., mobile user device 110 may be traveling in a vehicle), and may provide GPS (or global navigation satellite system) coordinates 520 and/or directional information 530, associated mobile user device 110, to server 130. Direction of travel 510 may include a direction (e.g., north, south, east, west, etc.) associated with the movement of mobile user device 110 (e.g., mobile user device 110 may be in a vehicle traveling northeast on northbound Interstate-95). GPS coordinates 520 may provide a location of mobile user device 110. For example, if mobile user device 110 is traveling by a corner of two streets, GPS coordinates 520 may provide the GPS coordinates associated with the corner of the two streets. Directional information 530 may include information associated with direction of travel 510 and may be determined based on GPS coordinates 520 associated with mobile user device 110 over time.
Server 130 may receive GPS coordinates 520 and/or directional information 530, and may determine direction of travel 510 based on GPS coordinates 520 and/or directional information 530. For example, in one implementation, server 130 may receive GPS coordinates 520 over time (e.g., mobile user device 110 may be located at point “A” at time “0” and may be located at point “B” one minute later), and may calculate direction of travel 510 based GPS coordinates 520 (e.g., direction of travel 510 may be a direction provided by connecting point “A” to point “B”). In another implementation, server 130 may receive directional information 530 (e.g., indicating that mobile user device 110 is traveling northeast), and may calculate direction of travel 510 (e.g., northeast) based on directional information 530.
As further shown in
In one implementation, the determined one or more points of interest in direction of travel 510 may include one or more points of interest within a certain distance (e.g., a certain number of miles) from mobile user device 110 and/or within a certain distance (e.g., a certain number of miles) from direction of travel 510. For example, the user of mobile user device 110 may set the certain distances based on how closely the user desires the one or more points of interest to be from mobile user device 110 and/or direction of travel 510.
For example, if the user and mobile user device 110 are traveling along a highway in a northeast direction (e.g., direction of travel 510), the user (e.g., via mobile user device 110) may initiate a local search for restaurants and may have an option of requesting only search results in direction of travel 510. Server 130 may receive the local search for restaurants, may determine search results of all restaurants within a predetermined radius from mobile user device 110, and may filter the determined search results to restaurants located along direction of travel 510 of mobile user device 110. Server 130 may provide the restaurants, located along direction travel 510, for display to the user (e.g., via mobile user device 110).
Although
If a user (e.g., associated with mobile user device 110) accesses the GPS navigation application, the user may be presented with the user interface depicted in
If the user selects (e.g., via a selection mechanism, such as control buttons 330) option 640, the user may be presented with the user interface depicted in
Server 130 may receive the search request for restaurants in the direction of travel of mobile user device 110, and may determine one or more restaurants in the direction of travel of mobile user device 110. Server 130 may provide the determined one or more restaurants (e.g., local search results 550) to mobile user device 110 via a graphical user interface 600 (e.g., as depicted in
Although user interfaces 600 depict a variety of information, in other implementations, user interfaces 600 may depict less, additional, different, or differently arranged information than depicted in
Directional determiner 700 may include any hardware or combination of hardware and software that may receive GPS coordinates 520 and/or directional information 530 from mobile user device 110, and may determine direction of travel 510 of mobile user device 110 based on GPS coordinates 520 and/or directional information 530. Directional determiner 700 may determine a location 730 of mobile user device 110 based on GPS coordinates 520 and/or directional information 530. In one exemplary implementation, location 730 may include a physical location of mobile user device 110 (e.g., mobile user device 110 is located at the intersection of ROAD1 and ROAD2) as determined by GPS coordinates 520.
Local search results generator 710 may include any hardware or combination of hardware and software that may receive direction of travel 510 and location 730 from directional determiner 700, and may receive local search request 540 from mobile user device 110. Local search results generator 710 may search database 720 based on local search request 540, and may retrieve, from database 720, search results 740 that match local search request 540. Search results 740 may include one or more points of interest that match criteria set forth by local search request 540 and are in an area surrounding (e.g., within a predetermined distance from) mobile user device 110. For example, if local search request 540 includes a search for restaurants, search results 740 may include all restaurants within a predetermined radius from mobile user device 110. Local search results generator 710 may filter search results 740, based on direction of travel 510 and/or location 730, to provide local search results 550 (e.g., the determined one or more points of interest) in direction of travel 510 of mobile user device 110. Local search results generator 710 may provide local search results 550 to mobile user device 110.
Database 720 may include a storage device (e.g., main memory 230, ROM 240, storage device 250, etc.) that may store information received by server 130. In one implementation, database 720 may store information associated with one or more points of interest (e.g., that may be relevant to mobile user device 110), such as information associated with stores, restaurants, gas stations, hospitals, hotels, motels, amusement parks, historical sites, police stations, airports, train stations, etc. Database 720 may be searched based on local search request 540 and may return one or more points of interest in database 720 that match criteria (e.g., keywords, query terms, etc.) set forth by local search request 540.
Although
A user associated with mobile user device 110 may access the GPS navigation application associated with mobile user device 110. The user (e.g., via mobile user device 110 and the GPS navigation application) may create user-defined path points 810, and may provide user-defined path points 810 to server 130. User-defined path points 810 may include a user-defined starting point (e.g., Philadelphia, Pa.), a user-defined destination point (e.g., New York City, N.Y.), and one or more user-defined intermediate points (e.g., waypoints, roads, locations, landmarks, points of interest, etc.) (e.g., Newark, N.J.) provided between the user-defined starting and destination points.
Server 130 may receive user-defined path points 810 (e.g., the user-defined starting, destination, and intermediate points), and may create a user-defined path 820 based on the user-defined starting point, destination point, and intermediate point(s). User-defined path 820 may include a path defined by the user-defined starting point, destination point, and intermediate point(s) (e.g., a path that starts at Philadelphia, Pa., travels through Newark, N.J., and ends at New York City, N.Y.). Server 130 may store user-defined path 820 (e.g., in a database (not shown) associated with server 130), and may retrieve information 830 associated with user-defined path 820. Information 830 may include mileage information (e.g., mileage associated with each route (e.g., road, highway, etc.) traversed on user-defined path 820), directional information (e.g., maps, road names, highway names, exit information, turn information, etc.), traffic information (e.g., traffic conditions associated with routes traversed on user-defined path 820), construction information (e.g., road construction, detour information, road closings, etc.), etc. Server 130 may retrieve information 830 from a variety of sources (e.g., from services provided by the GPS navigation application, from state and federal agencies (e.g., the department of motor vehicles), etc.).
In one exemplary implementation, server 130 may provide user-defined path 820 and/or information 830 to mobile user device 110 prior to the user beginning to traverse user-defined path 820 (e.g., with mobile user device 110). The user (e.g., via mobile user device 110) may review, edit, refine, update, etc. user-defined path 520 prior to traversing user-defined path 820. In other implementations, server 130 may provide (e.g., when requested by mobile user device 110) user-defined path 820 and/or information 830 to mobile user device 110 as the user is traversing user-defined path 820 (e.g., with mobile user device 110). In such a scenario, mobile user device 110 may provide GPS (or global navigation satellite system) coordinates 840 associated with mobile user device 110 (e.g., a location of mobile user device 110) to server 130, and server 130 may provide one or more portions of user-defined path 820 and/or information 830 that correspond to GPS coordinates 840. For example, if the user is traversing a certain street associated with user-defined path 820, server 130 may provide, to mobile user device 110, portions of user-defined path 820 and/or information 830 that correspond to the certain street.
As further shown in
Server 130 may receive user-defined path points 850 (e.g., the user-defined starting, destination, and intermediate points), and may create a user-defined path 860 based on the user-defined starting point, destination point, and intermediate point(s). User-defined path 860 may include a path defined by the user-defined starting point, destination point, and intermediate point(s) (e.g., a path that starts at Philadelphia, Pa., travels through Wilmington, Del., and ends at Washington, D.C.). Server 130 may store user-defined path 860 (e.g., in a database (not shown) associated with server 130), and may retrieve information 870 associated with user-defined path 860. Information 870 may include mileage information (e.g., mileage associated with each route (e.g., road, highway, etc.) traversed on user-defined path 860), directional information (e.g., maps, road names, highway names, exit information, turn information, etc.), traffic information (e.g., traffic conditions associated with routes traversed on user-defined path 860), construction information (e.g., road construction, detour information, road closings, etc.), etc. Server 130 may retrieve information 870 from a variety of sources (e.g., from services provided by the GPS navigation application, from state and federal agencies (e.g., the department of motor vehicles), etc.).
In one exemplary implementation, server 130 may provide user-defined path 860 and/or information 870 to mobile user device 110 and/or stationary user device 120 prior to the user beginning to traverse user-defined path 860 (e.g., with mobile user device 110). The user (e.g., via mobile user device 110 and/or stationary user device 120) may review, edit, refine, update, etc. user-defined path 860 prior to traversing user-defined path 860. In other implementations, server 130 may provide (e.g., when requested by mobile user device 110) user-defined path 860 and/or information 870 to mobile user device 110 as the user is traversing user-defined path 860 (e.g., with mobile user device 110). In such a situation, mobile user device 110 may provide GPS coordinates 840 (e.g., associated with mobile user device 110) to server 130, and server 130 may provide one or more portions of user-defined path 860 and/or information 870 that correspond to GPS coordinates 840. For example, if the user is traversing a certain highway associated with user-defined path 860, server 130 may provide, to mobile user device 110, portions of user-defined path 860 and/or information 870 that correspond to the certain highway.
As also shown in
The user, via mobile user device 110, may provide a local search request 880, for points of interest in direction of travel 875, to server 130. Local search request 880 may include a request for points of interest (e.g., restaurants, gas stations, stores, etc.) near a location of mobile user device 110 (e.g., within a certain distance, such as one-hundred miles, of mobile user device 110) and along a user-defined path (e.g., user-defined paths 820 or 860) and/or in direction of travel 875 of mobile user device 110. Server 130 may receive local search request 880, and may determine one or more points of interest, along a user-defined path (e.g., user-defined paths 820 or 860) and/or in direction of travel 875, based on local search request 880. Server 130 may provide, to mobile user device 110, local search results 890 based on local search request 880. Local search results 890 may include the determined one or more points of interest along a user-defined path (e.g., user-defined paths 820 or 860) and/or in direction of travel 875 of mobile user device 110.
In one implementation, the determined one or more points of interest along a user-defined path and/or in direction of travel 875 may include one or more points of interest within a certain distance (e.g., a certain number of miles) from mobile user device 110, within a certain distance (e.g., a certain number of miles) from the user-defined path, and/or within a certain distance (e.g., a certain number of miles) from direction of travel 875. For example, the user of mobile user device 110 may set the certain distances based on how closely the user desires the one or more points of interest to be from mobile user device 110, the user-defined paths, and/or direction of travel 875.
For example, if the user and mobile user device 110 are traveling along a highway in a southwest direction (e.g., direction of travel 875), the user (e.g., via mobile user device 110) may initiate a local search for gas stations and may have an option of requesting only search results along a user-defined path (e.g., user-defined paths 820 or 860) and/or in direction of travel 875. Server 130 may receive the local search for gas stations, may determine search results of all gas stations within a predetermined radius from mobile user device 110, and may filter the determined search results to gas stations located along the user-defined path (e.g., user-defined paths 820 or 860) and/or in direction of travel 875 of mobile user device 110. Server 130 may provide the gas stations, located along the user-defined path and/or in direction of travel 875, for display to the user (e.g., via mobile user device 110).
Although
If the user selects (e.g., via a selection mechanism, such as control buttons 330) option 930, the user may be presented with the user interface depicted in
Server 130 may receive the search request for gas stations along a user-defined path and in the direction of travel of mobile user device 110, and may determine one or more gas stations along a user-defined path (e.g., user-defined path 920) and in the direction of travel (e.g., direction of travel 905) of mobile user device 110. Server 130 may provide the determined one or more gas stations (e.g., local search results 990) to mobile user device 110 via a graphical user interface 900 (e.g., as depicted in
Although user interfaces 900 depict a variety of information, in other implementations, user interfaces 900 may depict less, additional, different, or differently arranged information than depicted in
Path points receiver 1000 may include any hardware or combination of hardware and software that may receive user-defined path points 810 and/or GPS coordinates 840 from mobile user device 110, and/or may receive user-defined path points 850 from stationary user device 120. Path points receiver 1000 may provide user-defined path points 810 and/or user-defined path points 850 to database 1010 and/or to path/information generator 1020.
Database 1010 may include a storage device (e.g., main memory 230, ROM 240, storage device 250, etc.) that may store information received by server 130. In one implementation, database 1010 may store user-defined path points 810 and/or GPS coordinates 840 received from mobile user device 110. In other implementations, database 1010 may store user-defined path points 850 received from stationary user device 120. In still other implementation, database 1010 may store user-defined path 820, information 830 associated with user-defined path 820, user-defined path 860, and/or information 870 associated with user-defined path 860 (e.g., received from path/information generator 1020). Database 1010 may store information associated with one or more points of interest (e.g., that may be relevant to mobile user device 110), such as information associated with stores, restaurants, gas stations, hospitals, hotels, motels, amusement parks, historical sites, police stations, airports, train stations, etc. Database 1010 may be searched based on local search request 880 and may return one or more points of interest in database 1010 that match criteria (e.g., keywords, query terms, etc.) set forth by local search request 880.
Path/information generator 1020 may include any hardware or combination of hardware and software that may receive user-defined path points 810 and/or user-defined path points 850 from path points receiver 1000, may create user-defined path 820 based on user-defined path points 810, and may create user-defined path 860 based on user-defined path points 850. Path/information generator 1020 may also receive path information 1040 from a variety of sources (e.g., from services provided by the GPS navigation application, from state and federal agencies, etc.). Path information 1040 may include may include mileage information, directional information (e.g., maps, road names, highway names, exit information, turn information, etc.), traffic information, construction information (e.g., road construction, detour information, road closings, etc.), etc. Path/information generator 1020 may associate corresponding path information 1040 with user-defined path 820 and/or user-defined path 860 to create information 830 associated with user-defined path 820 and information 870 associated with user-defined path 860, respectively. As further shown in
Local search results generator 1030 may include any hardware or combination of hardware and software that may receive GPS coordinates 840 from mobile user device 110 and may determine direction of travel 875 of mobile user device 110 based on GPS coordinates 840. Local search results generator 1030 may receive user-defined path 820, information 830, user-defined path 860, and/or information 870 from path/information generator 1020, and may receive local search request 880 from mobile user device 110. Local search results generator 1030 may search database 1010 based on local search request 880, and may retrieve, from database 1010, search results 1050 that match local search request 880. Search results 1050 may include one or more points of interest that match criteria set forth by local search request 880 and are in an area surrounding (e.g., within a predetermined distance from) mobile user device 110. For example, if local search request 880 includes a search for gas stations, search results 1050 may include all gas stations within a predetermined radius from mobile user device 110. Local search results generator 1030 may filter search results 1050, based on direction of travel 875 and/or user-defined paths 820 or 860, to provide local search results 890 (e.g., the determined one or more points of interest) along a user-defined path (e.g., user-defined paths 820 or 860) and/or in direction of travel 875 of mobile user device 110. Local search results generator 1030 may provide local search results 890 to mobile user device 110.
Although
As illustrated in
As further shown in
Process block 1140 may include the process blocks depicted in
As illustrated in
As further shown in
As further shown in
Process block 1360 may include the process blocks depicted in
Systems and/or methods described herein may enable a user to filter points of interest search results provided by a navigation application associated with a mobile user device (e.g., a cell phone, a PDA, a GPS navigation device, etc.) to points of interest in a direction of travel of the mobile user device and/or along a user-defined path. In one implementation, for example, the systems and/or methods may receive GPS coordinates associated with a mobile user device, and may determine a direction of travel of the mobile user device based on the GPS coordinates. The systems and/or methods may receive, from the mobile user device, a search request for points of interest in the direction of travel, and may determine, based on the search request, one or more points of interest in the direction of travel. The systems and/or methods may provide, to the mobile user device, the determined one or more points of interest in the direction of travel.
The foregoing description of implementations provides illustration and description, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.
For example, while series of blocks have been described with regard to
It will be apparent that aspects, as described herein, may be implemented in many different forms of software, firmware, and hardware in the implementations illustrated in the figures. The actual software code or specialized control hardware used to implement these aspects is not limiting of the invention. Thus, the operation and behavior of these aspects were described without reference to the specific software code—it being understood that software and control hardware may be designed to implement these aspects based on the description herein.
Further, certain portions of the invention may be implemented as “logic” that performs one or more functions. This logic may include hardware, such as an application specific integrated circuit or a field programmable gate array, or a combination of hardware and software.
Even though particular combinations of features are recited in the claims and/or disclosed in the specification, these combinations are not intended to limit the invention. In fact, many of these features may be combined in ways not specifically recited in the claims and/or disclosed in the specification.
No element, act, or instruction used in the present application should be construed as critical or essential to the invention unless explicitly described as such. Also, as used herein, the article “a” is intended to include one or more items. Where only one item is intended, the term “one” or similar language is used. Further, the phrase “based on” is intended to mean “based, at least in part, on” unless explicitly stated otherwise.