Methods and systems for automatically providing point of interest information based on user interaction

Computer implemented methods are disclosed for providing to a user, geographical mapping information relating to a trip from a start location to a destination location. The method includes receiving user input data including at least the destination location, determining a distance between the start location and the destination is equal to or above a pre-determined threshold, and generating and displaying a route from the start location to the destination location on an electronic map based on the user input data. The route may include a pin that is movable by the user along the route. The location of the pin may be received and a snap location along the route closest to the drop location may be calculated. The method may include animating movement of the pin from the drop location to snap location, and displaying the geographical mapping information based on the snap location.

TECHNICAL FIELD

Various embodiments of the present disclosure relate generally to providing geographical mapping information. More specifically, exemplary embodiments of the present disclosure relate to systems and methods for providing dynamic point of interest information, and user-customizable route planning.

BACKGROUND

In recent years, the use of electronic or digital maps and mapping applications has grown significantly. Such mapping applications may be executable by various types of user electronic devices. Examples of such devices include, but are not limited to, a computer connected to the Internet, an onboard navigation system in a vehicle, a dedicated portable Global Positioning System (GPS) device, a mobile computer device (e.g. a smartphone), or other type of GPS-enabled computing device. The displayed electronic maps often convey information related to roads, traffic, buildings, landmarks, terrain, and other geographic locations or regions of interest. Most electronic maps allow users to view various portions of a map (e.g. via scrolling, zooming, rotating, and panning functions)

Some electronic maps may be interactive, receiving initial user inputs such as an input of a specific geographic location and providing map information based on the initial user inputs. Some mapping applications also may include route guidance features allowing users to receive route information or driving directions to a particular address based on each user's initial input of a location or detection of each user's current geographic location, as derived through GPS or other location detecting means.

Interactive maps also may provide information about various points of interest (POIs) at or near a known location. A POI may be, for example, a specific business, destination, or attraction that is useful or interesting to an individual or a group of individuals, or that the individual or the group may want to visit. By way of example, POIs on a digital map may represent gas stations, rest areas, hotels, restaurants, museums, hospitals, historical sites in a specific geographic area, houses for sale, etc. A POI may also correspond to a movie theater showing a particular film, a restaurant that serves a specific type of food, etc.

Digital maps, either interactive or non-interactive, may be used for planning or taking a trip. Such trips may be to the same location (e.g., daily commuting from home to work), new short-distance trips to unfamiliar locations, long-distance vacation road-trips, or any other type of travel. For example, a user may use a digital mapping application executable at the user's device to input origin and destination locations and obtain routing directions to and from the locations. Mapping service providers also may track a user's location using GPS or other location detecting means coupled to a user's electronic device. Based on this location information, the digital maps may provide users with real-time information, such as live traffic information. The digital maps also may provide dynamic routing adjustments for a predetermined or prescribed route of travel when the location of the user's device is tracked.

However, conventional mapping applications or services do not provide advance identification and interactive user consideration and selection of POIs at various points along a planned route.

SUMMARY OF THE DISCLOSURE

Accordingly, a need exists for methods, systems, and devices that provide dynamic user interaction with a route to browse and interrogate POIs along a route and obtain optimized travel information.

According to certain embodiments, computer-implemented methods are disclosed for providing, to a user, geographical mapping information relating to a trip from a start location to a destination location, the method may include: receiving, from a user's electronic device and over a network, user input data including at least the destination location; determining whether a distance between the start location and the destination is equal to or above a pre-determined threshold; generating and displaying a route from the start location to the destination location on an electronic map based on the user input data; displaying on the route, in response to determination that the distance is equal to or above the pre-determined distance, a pin movable by the user along the route; receiving, from the user's electronic device, a drop location where the user has dropped the pin along the route; calculating a snap location along the route closest to the drop location; animating movement of the pin from the drop location to the snap location; and/or displaying the geographical mapping information based on the snap location

Aspects of the disclosure relate to one or more of: wherein the pre-determined distance is input by the user; wherein the drop location is within a pre-determined distance from the snap location; animating and displaying movement of the pin along the route to the drop location; wherein route information is automatically updated and displayed based on the movement of the pin along the route to the drop location; wherein calculating the snap location along the route closest to the drop location comprises calculating one or more intersections close to the drop location and determining points of interest (POIs) within a predetermined distance from the one or more intersections; wherein the POIs are based on the user input data; wherein at least one of the one or more intersections is a highway exit; accessing a database of an external content provider based on the drop location and providing a transaction with the external content provider based on the drop location; wherein the pin changes appearance upon movement to the snap location; receiving further user input data after displaying the geographical mapping information based on the snap location; wherein the step of calculating the snap location along the route closest to the drop location is based on the shortest travel time from the drop location to the snap location; wherein the snap location is closer to the destination location than the drop location; wherein the snap location is closer to the start location than the drop location; wherein at least one of the start location and the destination location are movable; and/or receiving an intermediate location between the start location and the destination location from the user.

According to another embodiment, systems are provided for providing to a user geographical mapping information relating to a trip from a start location to a destination. Certain systems may include: a data storage device storing instructions for causing computer servers or mobile devices to provide to a user geographical mapping information relating to a trip from a start location to a destination, and a processing device configured to execute the instructions to perform a method of: receiving, from a user's electronic device and over a network, user input data including at least the destination location; determining whether a distance between the start location and the destination is equal to or above a pre-determined threshold; generating and displaying a route from the start location to the destination location on an electronic map based on the user input data; displaying on the route, in response to determining the distance is equal to or above the pre-determined threshold, a pin movable by the user along the route; receiving, from the user's electronic device, a drop location where the user has dropped the pin along the route; calculating a snap location along the route closest to the drop location; animating movement of the pin from the drop location to the snap location; and displaying the geographical mapping information based on the snap location.

According to certain embodiments, a computer-readable medium is disclosed that, when executed by a processor causes the processor to provide, to a user, geographical mapping information relating to a trip from a start location to a destination, the method including: receiving, from a user's electronic device and over a network, user input data including at least the destination location; determining whether a distance between the start location and the destination is equal to or above a pre-determined threshold; generating and displaying a route from the start location to the destination location on an electronic map based on the user input data displaying on the route, display on the route, in response to determining the distance is equal to or above the pre-determined threshold, a pin movable by the user along the route; receiving, from the user's electronic device, a drop location where the user has dropped the pin along the route; calculating a snap location along the route closest to the drop location; animating movement of the pin from the drop location to the snap location; and/or displaying the geographical mapping information based on the snap location.

The disclosed embodiments achieve convenient trip planning by dynamically determining and displaying points of interest along a route in response to user input and presenting a customized route based on the user input.

DESCRIPTION OF THE EMBODIMENTS

The present disclosure describes methods and systems for providing and electronically presenting mapping information related to a trip. In particular, the present disclosure describes methods and systems for providing a graphical user interface (GUI) for discovering points of interest (POIs) along a route on a digital map. In addition, the present disclosure describes methods and systems for determining and dynamically presenting users with POI and route information based on the user's interaction with the digital map.

Referring now to the figures,FIGS. 1-4are illustrations of different views100,200,300,400of a GUI101having an electronic map102and a map information portion104. The GUI101may be provided by a mapping service provider or any other entity and may include various graphical icons and visual indicators. The GUI101may be presented on any suitable electronic device having a display. In some embodiments, the GUI101may be accessible (e.g., for viewing and interacting) on a website accessible by an electronic device. In other embodiments, the GUI100may be accessible on a mobile navigation application of an electronic device. In such embodiments, the view of the digital map101may be automatically updated or panned over based on detecting, via GPS or in any other suitable manner, the current location of the electronic device.

The digital map102may be of any suitable form and/or type of view, such as a map view, satellite view, live traffic view, etc. The digital map102may be any suitable size to be displayed by an electronic device on the GUI101. The view of the digital map102may be manipulated in any suitable manner, (e.g., zoomed in and out, rotated, etc.). The digital map102may be of any scale, e.g. transcontinental, continental, region, state, city, neighborhood, campus, etc. The digital map102also may include various identifiers, e.g. geographic markers, landmarks, road names, etc. and may be automatically electronically updated.

The digital map102may include a route110between a start location106and one or more destination locations108. The start and/or destination locations106,108may be any locations identifiable on the digital map, for example, a specific address (e.g. 123 Green St. Any town, CA), POI location (e.g. Wrigley Field), general geographic location (e.g. Denver, Colo.), intersection (e.g. 1stSt. and Broadway, exit 29A), etc. The start and destination locations106,108may be any distance from each other and/or any direction relative to each other.

The route110may be along one or more portions of local streets, highways, bridges, etc. The route110may be traversed in any suitable manner, e.g., via motor vehicle, bicycle, foot, public transit, etc. The route110also may include various visual indicators to identify various attributes of the route110. For example, traffic flow along the route110at various times may be identified using different colors or combination of colors, visual effects (e.g. animation, pop-up notes, etc.), etc. Road restrictions, tolls, bridge heights, construction, etc., also may be shown along the route110.

The GUI101may display one or more interactive icons, such as movable pin112on the digital map102based on properties of the route110. In certain embodiments, an interactive icon may be displayed if it is determined that the route has a total travel time or travel distance above a certain pre-determined threshold. In other embodiments, an interactive icon may be displayed if it is determined that travel is occurring at a certain time of day (day/night) or date (week day/weekend/holiday/etc.) The moveable pin112may be associated with POI information along the route110. The movable pin112may be any suitable size, shape, color, etc. For example, movable pin112may include a representative symbol for a hotel, restaurant, gas station, café, etc. In some embodiments, the moveable pin112may include an input field for the user to designate a specific POI or category of POI. For example, the user may designate the pin112to be for a fast food chain, coffee shop, donut shop, pharmacy, etc. Based on the input by the user, the pin112may include a particular symbol associated with the designation and saved in memory or include the inputted text on the pin112.

As shown inFIGS. 1-4, pin112may be displayed on the route110or any other portion of the digital map102along with a pin information portion113(PIP) which may include a visual prompt providing the user with the option of viewing POI information along the route110. For example, as shown inFIG. 1, the PIP113may provide the user with the option of finding hotels on the route110. In other embodiments, the PIP113may include information about various POI characteristics or parameters, such as restaurant hours, menu items, prices, drive-thru availability, etc. The PIP113may be any suitable size and shape and may have various suitable properties. In some embodiments, portions of the PIP113may be transparent to allow the map102and route110to be viewed. The pin112, and PIP113may be displayed in any suitable manner. The pin112may be moved along the route110in any suitable manner, such as via a mouse, via a touchscreen, voice command, keyboard, stylus, etc. The pin112may move along the route110any suitable distance and at any suitable speed. In some embodiments, the movable pin112may move smoothly over the route and the speed of movement of the pin112along the route may be correlated to the movement of the mouse, etc.

The map information portion104of the GUI101may include any suitable information related to the digital map102and/or the route110. Each component of the map information portion104may be configured to be interactive and configured to receive input information from the user. In some embodiments, as shown inFIG. 1, the map information portion104may include a recommended route summary114, and one or more alternative route summaries116. The route summaries114and116may include information about any major components of the route (e.g. highways, tollways, bridges, etc.), total travel time, total travel distance, estimated fuel cost, etc. The map information portion114also may include POI information options118. For example, as shown inFIG. 1, POI information option118may include a search for hotel room vacancies, restaurant table reservations, event seating, etc. The map information portion104also may include a portion120for user notes, and a detailed route information portion122. The detailed route information portion122may provide step-by-step directions and may be modified based on the user's preferences. For example, as shown inFIG. 1, the user may choose not to show the first few steps of the directions.

FIG. 2, shows a view200of the digital map102of the GUI101. As shown inFIG. 2, view200shows the pin112on the route110and PIP213displaying information about the route110and/or instructions for interacting with the GUI101to receive additional POI information. In some embodiments view200is displayed based on one or more properties of the route. For example, view200may be displayed on GUI101, if the route is determined to meet or exceed a certain pre-determined travel time or distance threshold. Examples of information displayed in PIP213may include total estimated travel time, total estimated distance, etc. Examples of instructions for interacting with the GUI101may include instructions on moving the pin112to find POIs near the location of the pin112. For example, the PIP213may instruct or prompt the user to drag, drop, and/or interact in any suitable manner with the pin112to a location on or near the route110to find nearby hotels or any other POI. During display of the pin112on the route110and the PIP213, the view of the map102may be automatically zoomed in, panned, and/or rotated as shown inFIG. 2.

FIG. 3shows a view300of the digital map102of the GUI101following user interaction with the pin112. As shown inFIG. 3, the pin112may be moved by the user to a location302along the route110and PIP313may display updated information about the route110based on the location302of the pin112along the route110and/or POI information. For example, the user may move and drop pin112on a point302along the route110. Information in the PIP313may be updated in response to the drop location of the pin112. The PIP313may then display a message informing the user that the user's request is being processed. For example, the user may move the pin112to a location from the route110to locate hotels close to the pin location112.

FIG. 4shows a view400of the digital map102of the GUI101following processing of the user interaction with the pin112. As shown inFIG. 4, the pin112may move from the location302where the user dropped the pin112, to a snap location402along the route110. The snap location402may be any suitable location along the route, such as a known intersection or highway exit. The movement of the pin112from location302to snap location402may be animated in any suitable manner. For example, by showing the pin112moving along the route110from location302to location402, vanishing the pin112from location302and re-showing the pin112at location402, or any other suitable manner. PIP414may display updated route information based on the location of the pin112and/or a message prompting the user to receive POI information. For example, PIP414inFIG. 4prompts users to view hotel information at location402.

FIG. 5is a block diagram of a communications system500capable of presenting routes and route information for a trip, between at least two points. For example, along a route110between start location106and destination location(s)108via a network505, such as the Internet, to one or more electronic devices510, such as a mobile device515(e.g., mobile phone, personal digital assistant, tablet computer), a GPS device520, a computer (laptop, desktop, tablet)525, in-vehicle navigation system530, and/or any device connected to a network505, such as the Internet, according to an exemplary embodiment of the present disclosure.

The electronic device510may receive information via the network505from a system of servers535, having one or more servers such as mapping/routing540, POIs545, user interface servers550, and/or any other suitable servers. Each server may include memory, a processor, and/or a database. For example, the mapping server540may have a processor configured to retrieve mapping information and generate routing information, POI server545may have one or more databases of POIs or be in communication with an external POI database570. The POI server545also may include a processor configured to retrieve POI information and provide POI information, and user interface server550may be configured to receive and process user input such as the drop location of the pin112. The system500also may include a satellite555configured to send and receive location and other information to the server system535and electronic devices510.

The various electronic devices510may communicate with each other by any suitable means (e.g., via the network505, Bluetooth, Near Field Communication, or any other suitable means) to send and receive location and other information. For example, a mobile device515may communicate with a GPS device520,530in communication with the satellite555.

The mapping server540may receive information regarding a user's trip, such as a start location, destination location, and any user route preferences directly from the electronic device510via the network505or indirectly via the user interface server550. The mapping server540may save the information in memory, such as a computer readable memory.

The mapping server540also may be in communication with one or more other servers, such as the POI server545and/or external servers such as servers of content providers560. The content providers560may include advertisers, news sources, entities affiliated with POIs (e.g. ad agents, marketers). In one embodiment, the content provider560may be a hotel chain owner providing advertisement and information regarding room vacancies for hotels along the route. In other embodiments, the content provider may be restaurant chains providing advertisement information regarding seasonal menu items and locations. Other examples may include retail stores, amusement parks, etc. providing advertisements about their locations. In addition, the mapping server540may include data from other users, traffic reports, weather reports, police reports, and/or any other source of relevant information and the POI server545may include reviews of POIs, details about POIs and/or any other relevant information. The mapping server540may process the information for display on the electronic device510.

FIG. 6is a flow diagram600of an exemplary method of providing mapping information relating to a route, such as route110. The method600may be used for providing a recommended route, and/or providing dynamic user selectable POIs along the route. The method600may be performed by any component or combination of server(s)535, and/or electronic devices510.

In one embodiment, method600may include a step602of receiving, from a user's electronic device, over a network, start, and destination locations of a route. The start and/or destination locations may be inputted by a user using any suitable input, such as a touchscreen, keyboard, voice commands, scanned code, etc. Alternatively, the start location may be automatically detected based on detecting the location of the electronic device via GPS or any other location determining technology. The user also may input one or more route parameters, such as route preferences (e.g. avoid tollways, avoid bridges, avoid tunnels, shortest distance, fastest route, etc.)

At step604, the start and destination locations along with any user-inputted parameters may be processed by the mapping/routing server. Based on the processed information, a recommended route and any alternative routes between the start and destination location(s) may be calculated. In addition, the travel time, distance, and any other properties of the route (e.g. live traffic, traffic patterns, weather conditions, road construction, road closures, road restrictions, fuel usage, etc.) along the recommended and any alternative routes may be determined at step604.

At step606the travel time and/or the travel distance along the route calculated in step604may be compared to a threshold value. The threshold may be pre-determined by the provider of the mapping service or inputted by the user at step620. The threshold may indicate that one or more stops or breaks may be suitable along the route. The threshold may be any suitable travel time or distance. For example, the threshold may be equal to or greater than 90 minutes, over 100 miles, or any other suitable measure of travel time or distance. In some embodiments, the pre-determined threshold may be determined based on the type of travel (e.g. via motor vehicle, by public transport, via foot, via bicycle). For example, the fuel consumption properties of the vehicle travelling along the route may also be used to determine the threshold value. In some embodiments, the time of day or any other suitable trip characteristic may be used to determine the pre-determined threshold. For example, if the user is travelling the route at night, the threshold value determination may be less than if the user is travelling during the day, based on the increased likelihood that the user may require a break (e.g. sleep at a hotel) at night. In this example, the threshold value may be calculated based on the time the travel started and the fatigue level, normal sleep times, or any other suitable factors. In other embodiments, the pre-determined threshold for showing food locations may be based on inputted or determined (e.g. via accessing the electronic schedule or calendar of the user) information regarding the user's schedule.

In some embodiments, the user may input a threshold at step620. The user may input any travel time or travel distance. In some embodiments, instead of inputting a travel time or travel distance, the user may input a particular POI (e.g. highway rest stops, outlet malls, etc.) at step620. For example, the route may have a travel distance of one hour and the pre-determined threshold may be 75 minutes, however, the user may input a threshold of “outlet malls.” In this example, any outlet malls along the route may be searched and determined to be 45 minutes along the route. Based on the user input at step620, the user inputted threshold is met and a stop may be recommended at the location of the outlet mall. At step608, if it is determined that either the pre-determined threshold or any user inputted threshold at620is not met, then, at step618the route(s) determined at step604may be calculated and step-by-step directions may be displayed to the user on the electronic device. At step608, if it is determined that the threshold is met, then the digital map may display further interactive features as described in reference to steps610-618below.

At step610, if it is determined that the distance/time equals or exceeds the threshold, then one or more interactive pins, such as the interactive pin112inFIGS. 2-4may be displayed on the digital map along with one or more of the routes determined at step604. The interactive pin may be displayed at any suitable location on the digital map102and may include a PIP113. The PIP113may include any suitable information about the route110along with a prompt to the user to interact with the pin112as discussed above in reference toFIGS. 1-4.

At step612the location of the pin112on the digital map110following the user's interaction with the pin112may be received and processed to determine the geographic location and/or corresponding travel time value of the pin112along the route110. For example, the geographic co-ordinates (e.g. 41.88323, −87.624509), address (e.g. 100 N. Michigan Ave. Chicago, Ill.), and/or travel time from the start location or to the destination location (e.g. 5 hours 23 minutes). The determination may be done in advance of travel, and/or in some embodiments may be calculated in real-time. In some embodiments, fuel usage may be calculated in advance, and/or in real-time. The user may move the pin112in any suitable manner on the digital map102. In some embodiments, the pin112may be restricted to movement along the route110. In some embodiments, the pin112may be moved anywhere on the digital map102and then dropped on a location on the route110.

At step613, the location of the pin112following the user's interaction may be saved into memory and a search may be generated for known intersections in close proximity (travel distance and/or travel time) to the location of the pin112. The intersections may be any suitable intersection or travel junction. In some embodiments, the intersections may be major roads, highway exits, etc. The closest intersections to the pin location at step612from the nearby intersections may be determined in any suitable manner and may be based on travel time, travel distance, ease of accessibility (e.g. exit ramp access to and from the intersection, etc.) The closest intersection(s) may then be saved and memory for further processing.

At step614a search may be generated for POIs close to the closest intersection(s) determined at step613. The POI search at step614may include all suitable POIs, one or more categories of POIs (e.g. hotels, restaurants, stores, etc.), and/or be based on various user inputted parameters (e.g. coffee shops with free Wi-Fi, etc.) At step614the POIs may be searched within a predetermined distance or travel time from the closest intersection. The pre-determined search distance/travel time may be set by the provider of the mapping service or the user. In some embodiments, the predetermined search distance/travel time may be the same for each intersection along the route. In other embodiments, the predetermined search travel distance/time may vary based on the type and location of the intersection along the route. For example, the search travel distance/time for POIs closest to an intersection in a major city may be shorter than POIs closest to an intersection in a rural area. If no relevant POIs are found within the predetermined search distance/travel time of the closest intersection, the next closest intersection to the location of the pin may be searched for POIs.

Once an intersection having relevant POIs is determined and saved into memory at step614, the pin112may be moved along the route to the location of the intersection at step616. At step616, the movement of the pin112along the route110to the intersection location may occur in any suitable manner. For example, the pin112may be moved along the route110via various visual animations, as discussed above in reference toFIG. 4. Information related to the POIs identified at the intersection location of the pin112may be displayed on the GUI101. For example, names, addresses, phone numbers, menus, amenities, etc. In addition, the user may further interact with the GUI101to send and receive further information about POIs (e.g. reserve rooms, order food, etc.). In some embodiments, the user may select one or more POIs, and the POIs may be added to the route110. Any user selected POIs also may be saved in memory. In one example, the user may receive room availability in a hotel identified as being close to the pin112. In some embodiments, the GUI101may allow the user to conduct a transaction with the owner of the POI. For example, the user may book a room in a hotel identified as being close to pin112.

At step618, the route may be calculated and step-by-step directions may be calculated and displayed to the user on the electronic device. For example, travel distance/time along a certain highway, landmark associated with an intersection, etc. At step622user input parameters may be received at any time during the method600. For example, the user may filter the POIs by certain characteristics (e.g. hotels with pools, restaurants with drive-thru windows, rest areas with pet areas, etc. In some embodiments, steps612-618may be repeated.

FIG. 7provides a functional block diagram illustration of general-purpose computer hardware platforms.FIG. 7illustrates a network or host computer platform700, as may typically be used to implement a server like the mapping server system440. It is believed that those skilled in the art are familiar with the structure, programming, and general operation of such computer equipment and as a result, the drawings should be self-explanatory.

A platform for a server or the like700, for example, may include a data communication interface for packet data communication760. The platform may also include a central processing unit (CPU)720, in the form of one or more processors, for executing program instructions. The platform typically includes an internal communication bus710, program storage, and data storage for various data files to be processed and/or communicated by the platform such as ROM730and RAM740. The hardware elements, operating systems, and programming languages of such equipment are conventional in nature, and it is presumed that those skilled in the art are adequately familiar therewith. The server700also may include input and output ports750to connect with input and output devices such as keyboards, mice, touchscreens, monitors, displays, etc. Of course, the various server functions may be implemented in a distributed fashion on a number of similar platforms, to distribute the processing load. Alternatively, the servers may be implemented by appropriate programming of one computer hardware platform.