1. Field of the Invention
The present invention relates to computer-aided mapping, and in particular, to the determining and displaying of parking information on maps.
2. Background Art
To efficiently drive from one geographic location to another, it generally is beneficial to have driving directions. A number of interactive Internet-based mapping portals are available to generate such driving directions, including Yahoo!® Maps, MapQuest, and Google™ Maps. To use a mapping portal to generate driving directions, a user typically enters a start location (e.g., in the form of an mailing address) and a finish location. The mapping portal processes the start location and finish location information, and generates a map with generated driving directions overlaid thereupon.
Frequently, an individual that plans on driving from a start location to a finish location will need a parking space at the finish location. The locating of parking in towns/cities having scarce parking resources and/or strict parking regulations is a non-trivial task. Unfamiliarity by the individual with the destination locality can further compound this problem. Thus, the locating of parking in many localities can be time consuming.
Furthermore, parking can be quite expensive due to any resulting fees that the individual may need to pay to park in a particular parking resource. Locating relatively inexpensive parking around airports, stadiums, malls, and other destinations presents a different kind of challenge. Many of these types of locations have multiple competing parking service providers that offer varying parking options at varying rates. For example, parking spaces relatively close to an airport are likely to cost more than parking spaces that are located farther away.
Thus, planning a point-to-point trip that accounts for a need to find parking can be quite a complex problem. What is desired are ways of efficiently and easily planning a point-to-point trip that accounts for the need for parking at the end destination.
Methods, systems, and apparatuses for mapping parking locations and for selecting parking are described. In a first aspect of the present invention, a search for parking resources proximate to a destination geographic location is performed. Parking information is generated based on the results of the search. The parking information is configured to be displayed on a map of the destination geographical location. A map of the destination geographical location may be displayed, with the parking information indicated on the map.
In a further aspect, a user may be enabled to select a parking location that is indicated on the map. Whether the selected parking location is reservable may optionally be determined. The user may reserve the selected parking location if the selected parking location is determined to be reservable.
In a still further aspect, walking and/or public transit directions from the selected parking location to the destination geographic location may optionally be generated. The generated travel directions may be indicated on the map.
In another aspect of the present invention, a parking information generator is provided. The parking information generator includes a parking search module and a parking information processing module. The parking search module is configured to perform a search for parking resources proximate to a destination geographic location, and to generate parking resource search results. For example, the parking search module may access one or more databases that contain parking resource information (e.g., information about parking lots, parking garages, street/metered parking, etc.). The parking search module may determine one or more parking locations located within a predetermined distance from the destination, for instance. The parking information processing module is configured to receive the parking resource search results from the parking search module. The parking information processing module is configured to generate parking information that is configured to be displayed on a map of the destination geographical location based on the received parking resource search results.
In still another aspect of the present invention, a system for generating trip information is provided. The system includes the parking information generator and a map generator. The parking information generator is configured to perform a search for parking resources proximate to a destination geographic location, and to generate parking information based on results of the search for parking resources. The map generator is configured to generate map data to enable display of a map of the destination geographical location with the generated parking information indicated on the map.
The system may further include a display device configured to display the map of the destination geographic location with the generated parking information indicated on the map. The map may be displayed in a graphical user interface (GUI), for example, such as a GUI provided by a web page of a website. The GUI may enable the user to select and reserve a parking location that is displayed on the map.
In a further aspect, the map generator may be configured to generate travel directions from the selected parking location to the destination geographic location. The map generator may generate map data that enables display of the map with the generated travel directions from the selected parking location to the destination geographic location on the map.
These and other objects, advantages and features will become readily apparent in view of the following detailed description of the invention. Note that the Summary and Abstract sections may set forth one or more, but not all exemplary embodiments of the present invention as contemplated by the inventor(s).
The accompanying drawings, which are incorporated herein and form a part of the specification, illustrate the present invention and, together with the description, further serve to explain the principles of the invention and to enable a person skilled in the pertinent art to make and use the invention.
The present invention will now be described with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements. Additionally, the left-most digit(s) of a reference number identifies the drawing in which the reference number first appears.
The present specification discloses one or more embodiments that incorporate the features of the invention. The disclosed embodiment(s) merely exemplify the invention. The scope of the invention is not limited to the disclosed embodiment(s). The invention is defined by the claims appended hereto.
References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Embodiments of the present invention relate to mapping tools, such as Internet-based mapping portals.
To generate driving directions using mapping portal 110, a user typically enters a start location (e.g., in the form of an address, a city, a zip code, etc.) and a destination location into an interface (e.g., a web browser) at computer 102. Computer 102 transmits the entered start and destination location information in a first communication signal 118 through network 104 to server 106. Mapping portal 110 in server 106 receives and processes the start location and destination location information, and generates map data, which may include mapping information regarding the start and destination locations, and information for driving from the start location to the destination location. Server 102 transmits the map data in a second communication signal 120 through network 104 to computer 102. Display 108 of computer 102 displays a map 112 based on the map data contained in second communication signal 120. Map 112 shows the start and destination locations, and also shows driving directions between the start and destination locations.
Frequently, an individual that plans on driving from a start location to a destination location will need a parking space at the destination location. The individual may be unfamiliar with the destination location, and thus may not know beforehand where to find convenient parking and/or parking at an acceptable cost. Conventional mapping portals, such as mapping portal 110, do not provide assistance in finding suitable parking for users who are planning trips.
Embodiments of the present invention overcome the deficiencies of conventional mapping portals by enabling users to find parking at destination locations. Example embodiments of the present invention are described in detail in the following sections.
Example embodiments are described for planning travel and for locating parking at destination locations. For example, embodiments enable a determination of available parking at a destination location. Embodiments enable the display the determined parking on maps. The example embodiments described herein are provided for illustrative purposes, and are not limiting. Further structural and operational embodiments, including modifications/alterations, will become apparent to persons skilled in the relevant art(s) from the teachings herein.
Flowchart 300 begins with step 302. In step 302, a search for parking resources proximate to a destination geographic location is performed. Step 302 may be performed by parking information generator 202 shown in
Parking information generator 202 is configured to generate parking information regarding parking resources proximate to the received destination geographic location. In an embodiment, parking information generator 202 may include a parking search module 210 and a parking information processing module 212. Parking search module 210 performs a search for parking resources proximate to the destination geographic location contained in travel parameters signal 208. For example, as shown in
Parking search module 210 may extract the location of parking resources (e.g., parking lots, individual parking spaces, street parking, metered parking, parking garages, etc.) from parking database 220 that are proximate to the destination geographic location. For instance, parking search module 210 may determine the location of one or more parking resources from parking database 220 that are within a particular distance (e.g., a radial distance, a walking/driving distance, etc.) of the destination geographic location. The distance may be a predetermined distance, or may be a user selectable distance. As shown in
In step 304, parking information configured to be displayed on a map of the destination geographical location is generated based on results of the search. In an embodiment, parking information processing module 212 of parking information generator 202 generates the parking information. Parking information processing module 212 receives parking resource search results 214 from parking search module 210, and generates a parking information signal 216. Parking information signal 216 includes parking information formatted in a manner than can be processed by map generator 204. For example, parking information processing module 212 may format the parking search results data so that it may be easily incorporated into the map data generated by map generator 204, such as by converting the parking search results into a graphical format and/or map data format. For example, module 212 may generate code, such as JavaScript™ code, or ActionScript code compatible with Flash technology, that can be used to overlay the parking information on a map generated by map generator 204.
Furthermore, parking information processing module 212 may perform filtering of the parking search results based on user preferences received in travel request signal 208. Examples of such filtering are described elsewhere herein, and include filtering based on parking cost, availability, distance from parking to destination, availability of public transportation to get from parking to destination, etc. Parking information signal 216 is transmitted from parking information generator 202 to map generator 204.
In step 306, map data is generated to enable display of a map of the destination geographical location and an indication of the generated parking information. In an embodiment, map generator 204 is configured to generate map data to enable display of map 112, which includes a map of the destination geographical location. Furthermore, map generator 204 is configured to incorporate the parking information received from parking information generator 202 into the map data so that one or more parking locations proximate to the destination geographic location are displayed on map 112. In embodiments, map generator 204 may be a local map generating tool (e.g., personal computer-based) or may be a remotely accessible map generating tool, such as an Internet-based mapping portal. Example Internet-based mapping portals for map generator 204 include Yahoo!® Maps, MapQuest, and Google™ Maps. As shown in
In step 308, a map of the destination geographical location is displayed with the parking information indicated on the map. As shown in
Map generating system 200 shown in
In the embodiment of
The first and destination location information entered into inputs 602 and 604 is transmitted from computer 102 in a first communication signal 402 through network 104 to server 106. Map generator 204 in server 106 may perform step 504 of flowchart 500 shown in
Display 108 of computer 102 displays map 112 based on the map data contained in second communication signal 404. As shown in
According to embodiments of the present invention, a user interacting with GUI 600 may desire to find parking information with respect to destination geographic location 614. In an embodiment, GUI 600 may include a parking option selector 606. When present, parking option selector 606 in GUI 600 enables a user to request that a search for parking be performed. For example, parking option selector 606 may be a graphical button, check box, or other graphical/textual structure that enables a user to request a parking search. Alternatively, parking option selector 606 is not present, and a parking search may be performed for all requests for driving directions placed by users, or a parking search may be performed based on a context of the driving direction request. In an example of a parking search performed based on search context, logic of parking information generator 202 may evaluate characteristics of the destination, and may determine that parking is needed, such as when a search is performed for directions to a restaurant or a theater. In another example, the logic may determine that parking is not needed, such as when a search is requested for directions to a person's home.
When parking option selector 606 is present and is selected by a user, first communication signal 402 transmitted from computer 102 (as shown in
For instance, map 700 indicates the location of a parking garage 704, first-fourth street parking regions 706, 708, 710, and 712, and a parking lot 714. Map 700 shows the parking locations within the displayed region, such that they can be viewed in relation to destination geographic location 724. Thus, a user viewing map 700 at display 108 is able to ascertain relative distances between the displayed parking spaces and destination geographic location 724, which may aid the user in planning/selecting which of the parking resources to potentially use for parking.
As shown in
Note that the further information regarding the indicated parking spaces may be provided textually, as described above, and/or in a graphical manner. For instance, parking locations may be color coded based on availability of parking. For example, a parking location may be indicated as red to indicate no parking available, may be indicated as yellow to indicate limited parking available, and may be indicated as green if parking is abundant. In another example, a graphical indication may be used to indicate relative cost of parking. For example, “$$$” may be used to represent highly expensive parking, “$$” may be used to represent moderately expensive parking, and “$” may be used to represent relatively inexpensive parking.
A user of computer 102 may print map 700 (e.g., using a printer) if desired, to bring map 700 on the trip defined by driving directions 702. The user may refer to the print out of map 700 in order to navigate the trip pursuant to driving directions 702, and to locate one or more of the identified parking locations (parking garage 704, first-fourth street parking regions 706, 708, 710, and 712, and parking lot 714). In an embodiment, prior to the trip, the user may reserve one of the identified parking spaces. Example embodiments for reserving a parking space are described in the following section.
In embodiments, a user may be enabled to reserve a parking location that is found in a parking search. For instance, flowchart 300 shown in
Flowchart 800 begins with step 802. In step 802, a user is enabled to select a parking location indicated on the map. A user may be enabled to select a parking location indicated on map 112 in a variety of ways, including by pointing and clicking on a displayed parking location using a mouse pointer. For example, a user interacting with map 700 shown in
In step 804, whether the selected parking location is reservable is determined. In an embodiment, parking information 206 may include information regarding whether particular parking resources may be reserved. Such information may be a textual message, a graphical symbol/indication (e.g., a reservation icon), or other indication that particular parking is reservable. For example, as shown in
In step 806, the user is enabled to reserve the selected parking location if the selected parking location is determined to be reservable. For example,
Parking reservation interface 902 may be displayed in GUI 900 external (as shown in
Thus, in an embodiment, a user may reserve a parking space by interacting with a parking reservation interface, such as interface 902 or 1002.
In the example of
As shown in
As described above, a user of computer 102 may print map 700 (e.g., using a printer) if desired, to bring map 700 on the trip defined by driving directions 702. The user may refer to the print out of map 700 in order to navigate the trip pursuant to driving directions 702, and to locate a reserved parking space indicated in map 700. In an embodiment, prior to the trip, the user may further desire to generate travel directions from the reserved parking space to the destination location. Example embodiments for generating travel directions from reserved parking are described in the following section.
Example Embodiments for Mapping Travel Directions from Parking
After selecting a parking space, a user may desire travel directions (e.g., for walking, public transportation, etc.) to and from the parking space to the destination geographic location. In embodiments, travel directions from a parking space to the destination geographic location are generated and are displayed on a map. For instance, flowchart 300 shown in
Flowchart 1200 begins with step 1202. In step 1202, travel directions from the selected parking location to the destination geographic location are generated. After the user selects a parking location in step 804, an indication of the selected parking location is transmitted to server 106 (e.g., in communication signal 1106). Map generator 204 receives the indication of the selected parking location, and generates map data that includes travel directions from the selected parking location to the destination location. For instance, a user may select a parking location in parking lot 714 shown in
In step 1204, the generated travel directions from the selected parking location to the destination geographic location are indicated on the map. Display 108 of computer 102 displays map 112 based on the map data contained in the received communication signal, including the travel directions from the parking location to the destination. For example,
As described above, a user of computer 102 may print map 700 (e.g., using a printer) if desired, to bring map 700 on the trip defined by driving directions 702. The user may refer to the print out of map 700 in order to navigate the trip pursuant to driving directions 702, to view a selected parking location, and view travel directions 1302 from the parking location to the destination location.
The embodiments described herein, including systems, methods/processes, and/or apparatuses, may be implemented using well known servers/computers, such as computer 1400 shown in
Computer 1400 can be any commercially available and well known computer capable of performing the functions described herein, such as computers available from International Business Machines, Apple, Sun, HP, Dell, Cray, etc. Computer 1400 may be any type of computer, including a desktop computer, a server, etc.
Computer 1400 includes one or more processors (also called central processing units, or CPUs), such as a processor 1404. Processor 1404 is connected to a communication infrastructure 1402, such as a communication bus. In some embodiments, processor 1404 can simultaneously operate multiple computing threads.
Computer 1400 also includes a primary or main memory 1406, such as random access memory (RAM). Main memory 1406 has stored therein control logic 1428A (computer software), and data.
Computer 1400 also includes one or more secondary storage devices 1410. Secondary storage devices 1410 include, for example, a hard disk drive 1412 and/or a removable storage device or drive 1414, as well as other types of storage devices, such as memory cards and memory sticks. For instance, computer 1400 may include an industry standard interface, such a universal serial bus (USB) interface for interfacing with devices such as a memory stick. Removable storage drive 1414 represents a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, tape backup, etc.
Removable storage drive 1414 interacts with a removable storage unit 1416. Removable storage unit 1416 includes a computer useable or readable storage medium 1424 having stored therein computer software 1428B (control logic) and/or data. Removable storage unit 1416 represents a floppy disk, magnetic tape, compact disk, DVD, optical storage disk, or any other computer data storage device. Removable storage drive 1414 reads from and/or writes to removable storage unit 1416 in a well known manner.
Computer 1400 also includes input/output/display devices 1422, such as monitors, keyboards, pointing devices, etc., as may be described elsewhere herein or otherwise known.
Computer 1400 further includes a communication or network interface 1418. Communication interface 1418 enables the computer 1400 to communicate with remote devices. For example, communication interface 1418 allows computer 1400 to communicate over communication networks or mediums 1442 (representing a form of a computer useable or readable medium), such as LANs, WANs, the Internet, etc. Network interface 1418 may interface with remote sites or networks via wired or wireless connections.
Control logic 1428C may be transmitted to and from computer 1400 via the communication medium 1442. More particularly, computer 1400 may receive and transmit carrier waves (electromagnetic signals) modulated with control logic 1428C via communication medium 1442.
Any apparatus or manufacture comprising a computer useable or readable medium having control logic (software) stored therein is referred to herein as a computer program product or program storage device. This includes, but is not limited to, computer 1400, main memory 1406, secondary storage devices 1410, removable storage unit 1416 and carrier waves modulated with control logic 1428C. Such computer program products, having control logic stored therein that, when executed by one or more data processing devices, cause such data processing devices to operate as described herein, represent embodiments of the invention.
Embodiments of the present invention can work with software, hardware, and/or operating system implementations other than those described herein. Any software, hardware, and operating system implementations suitable for performing the functions described herein can be used.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. It will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.