DISPLAYING MAPPED POINTS RELATIVE TO A USER INPUT RADIUS

A system and a method are disclosed for displaying mapped points relative to a user input radius. A booking accommodation application receives input indicating that a user seeks accommodation within a threshold distance from a point of interest. The booking accommodation application determines and displays accommodation options within a circle having a radius of the threshold distance, the circle centered at the point of interest. The circle dynamically changes with new user input indicating a new threshold distance and/or point of interest.

TECHNICAL FIELD

The disclosure generally relates to the field of map user interfaces, and more specifically, map user interfaces for use in booking accommodation applications.

BACKGROUND

A user may seek accommodation around points of interest. Conventional accommodation platforms may show accommodations on a map interface, but fail to provide context about accommodations relative to points of interest. Thus, the user is required to perform additional research to learn more about the area around the accommodations and the point of interest.

DETAILED DESCRIPTION

CONFIGURATION OVERVIEW

One embodiment of a disclosed system, method and computer readable storage medium relates to a map user interface that includes a dynamic pin that directs a user viewing a map interface to a point of interest. When the user views the map interface at a geolocation, the dynamic pin points towards the point of interest. The shape of the dynamic pin changes as the user moves, via the map interface, to a new geolocation, corresponding to a distance between the point of interest and the user's geolocation.

The map interface also displays inventory (e.g., accommodation) relative to radii about a point of interest. Based on an input radius, the map interface displays time-expiring inventory located within and/or around the radius of the point of interest.

Finally, the map interface dynamically obfuscates a mapped point. As the user zooms in and out of the map interface, the exact location of the mapped point remains obfuscated, while generally indicating the vicinity around the mapped point. The map interface described herein improves the user's experience in interacting with and contextualizing locations viewed via the map interface through the dynamic pin and inventory displayed near the point of interest, while protecting inventory hosts' privacy through dynamic obfuscation.

A processor receives a first geolocation of a client device and an input indicating a point of interest and determines a route between the first geolocation and the point of interest. The processor displays, on a map on the client device, a generalized visual indication of a direction towards the point of interest. The generalized visual indication is an overlaid bubble with a pointed portion that is directed towards the point of interest. The overlaid bubble is separate from a map route indication. When the processor receives a second geolocation as input, the second geolocation closer to the point of interest than the first geolocation, the processor displays the overlaid bubble with a rounded portion.

The processor receives an input indicating a point of interest at a booking accommodation application from a client device and determines one or more time-expiring inventory items with locations within a vicinity of the point of interest. The processor receives, from the client device, a selection of a threshold distance from the point of interest and determines a subset of the time-expiring inventory items with locations within the threshold distance of point of interest. The processor generates and displays a map interface on the client device. The map includes visual representations of the point of interest and the subset of items of time-expiring inventory within a circle of a radius of the threshold distance.

The processor receives a time-expiring inventory item from a host client device, at the booking accommodation application. The processor generates and displays a map interface on a guest client device, such that the map interface includes a visual representation of the time-expiring inventory item that obfuscates its location. In response to an input that indicates zooming in on the map interface on the guest client device, the processor increases the size of the visual representation obfuscating the location of the time-expiring inventory item.

FIG. 1illustrates one example embodiment of a system environment100. The system environment100in this example includes a host client device110, a guest client device120, a booking accommodation application130, and a network140. The system environment100enables guests to reserve accommodation, provided by hosts, via the booking accommodation application130. Each accommodation is only available for a certain amount of time, and thereby is considered time-expiring inventory.

A host provides an accommodation via the host client device110. The host client device110takes accommodation parameters as input. Accommodation parameters include information related to an accommodation, such as price, room type, bed type, number of bedrooms, number of bathrooms, cleaning fee, availability, check in time, check out time, location, size, cancelation policy, amenities, house rules, and so on. The host client device110may be any device that is or incorporates a computer, such as a smartphone, a personal computer, a laptop a wearable device (e.g., smart watch), and/or an internet enabled device. A computer includes any device having one or more general or special purpose processors, memory, storage, and networking components (either wired or wireless). The host client device110can execute an operating system, for example, a Microsoft Windows-compatible operating system (OS), Apple OS X or iOS, a Linux distribution, or Google's Android OS. In some embodiments, the host client device110includes a user interface that the host can interact with. A plurality of hosts may provide accommodations, each through their own host client devices110.

A guest seeks and accesses the host's accommodation via the guest client device120. The guest client device120takes trip parameters as input. Trip parameters include information about accommodation the guest seeks, such as a desired location, check in date, check out date, number of guests, room type preference, price range, desired amenities, and so on. The guest client device120may be any device that is or incorporates a computer, such as a smartphone, a personal computer, a laptop a wearable device (e.g., smart watch), and/or an internet enabled device. A computer includes any device having one or more general or special purpose processors, memory, storage, and networking components (either wired or wireless). The host client device110can execute an operating system, for example, a Microsoft Windows-compatible operating system (OS), Apple OS X or iOS, a Linux distribution, or Google's Android OS. In some embodiments, the guest client device120includes a user interface that the guest can interact with. Within the system environment100, a plurality of guests, each using their own guest client device120, may seek and/or access accommodation listed by hosts.

The booking accommodation application130allows hosts to post accommodation listings and guests to search for and book accommodations. The booking accommodation application130may be hosted and executed by the host client device110and/or the guest client device120. The booking accommodation application130includes a user interface for both hosts and guests to interact with, which in some embodiments, includes a map user interface to specify a location of an accommodation and/or points of interest around the accommodation. The booking accommodation application130is further described with respect toFIG. 2.

The network140transmits data between the host client device110, the guest client device120, and the booking accommodation application130. The network140may be a local area and/or wide area networks using wireless and/or wired communication systems, such as the Internet. In some embodiments, the network140transmits data over a single connection (e.g., a data component of a cellular signal, WiFi, among others) and/or over multiple connections. The network140may include encryption capabilities to ensure the security of consumer data. For example, encryption technologies may include secure sockets layer (SSL), transport layer security (TLS), virtual private networks (VPNs), Internet Protocol security (IPsec), etc.

FIG. 2illustrates one example embodiment of modules within the booking accommodation application server130. The modules may correspond to processing structures (e.g., program code (or software)) that execute the functionality as described on a computer system, for example, one having some or all of the components of the computer system described withFIG. 9.

As described above, the booking accommodation application130enables hosts to post accommodations and guests to seek and/or access the posted accommodations. The booking accommodation application130may include a map user interface that guests and hosts may interact with while viewing a location of a listed accommodation. The booking accommodation application130may include a map module210, a dynamic pin module220, a dynamic circle module230, an obfuscation module240, and a database250. The booking accommodation application130may include modules other than those described here.

The map module210receives input corresponding to a location, e.g., a user input that may be a location of interest. The user of the booking accommodation application130may enter the user input into the booking accommodation application130. In some embodiments, the booking accommodation application130determines the location from prior user search history (e.g., on the guest client device120). In some embodiments, the booking accommodation application130provides, without user input, the location to the map module210, the location selected from a list of suggested locations of interest. The map module2010presents a map interface that shows the location on a map to the user of the booking accommodation application130. The map module210determines a geolocation from the user input to the booking accommodation130. For example, a user (e.g., a host and/or a guest) may provide a location of interest to the booking accommodation application130via the host client device110and/or the guest client device120. The user input may specify a geolocation, through a postal code, a city, a district, a county, and/or a country. In some embodiments, the map module210determines the geolocation from a location of the host client device110and/or the guest client device120(e.g., via GPS). In some embodiments, the user input is one or more points of interest (e.g., tourist attractions, landmarks, schools, restaurants, etc.). The map module210renders a map showing the input geolocation to the user, via the booking accommodation application130. In some embodiments, the map module210renders accommodations and/or points of interest in proximity to the input geolocation. The map module210also presents relevant information about the accommodations to the user, such as price, availability, distance from a point of interest, and so on. The map module210enables the user to interact with the rendered map, such as by zooming in on and/or zooming out of a geolocation, providing, as input, another geolocation, panning to another geolocation, clicking on and/or tapping on the geolocation and/or listed accommodations.

The dynamic pin module220directs the user of the booking accommodation application130to a point of interest via a dynamic pin. After the map module210renders a map interface showing an area corresponding to an input geolocation, the dynamic pin module220receives, as input from the user, the point of interest. The dynamic pin module presents a pin (e.g., a bubble) with a pointed edge that directs the user towards the point of interest. The pin, overlain on the map interface, dynamically changes shape in response to a new input geolocation.FIGS. 3A-Cprovide further detail on directing the user to a point of interest via the dynamic pin.

The dynamic circle module230displays accommodations relative to a radius about a point of interest. A user (e.g., a guest) of the booking accommodation application130inputs a threshold distance and a point of interest, indicating that the user is seeking accommodation within the threshold distance of the point of interest. Accordingly, the dynamic circle module230determines and displays accommodation options that are within a circle having a radius of the threshold distance, while also displaying the bounds of the circle. The dynamic circle module230dynamically adjusts the size of the circle having the radius of the threshold distance as the user zooms in to and/or out of the map interface.FIGS. 4A-Cprovide further detail on presenting accommodations within the dynamic circle. Also, it is noted that the geographic boundary of a circle is by way of example and for ease of discussion. Other embodiments may deploy other geometric patterns around a location of interest, for example, a square, triangle, pentagon, hexagon, an octagon, or the like.

The obfuscation module240displays an obfuscated location of an accommodation. When providing accommodations to the booking accommodation application130, hosts may prefer not to disclose a precise address of the accommodation. When a guest accesses the listed accommodation on the booking accommodation application130, the obfuscation module240may obfuscate the exact location of the accommodation on the map interface rendered by the map module210. The obfuscation module240presents, on the map interface, a visual representation of the accommodation. In some embodiments, the host can specify a size of the visual representation. As the guest zooms in to and/or out of the map interface, the obfuscation module240maintains the obfuscation of the accommodation's exact location while providing a general location on the rendered map. It is noted that the system may be configured so that a host may elect to enable or disable the obfuscation configuration.FIGS. 5A-Bprovide further detail on the visual representation that obfuscates accommodations.

The database250stores information about the booking accommodation application130. The database250stores, for example, account information corresponding, respectively, to hosts and guests, as well as, listed accommodations, geographic maps from which the map interfaces are rendered, and so on.

FIG. 3Aillustrates one example embodiment of a map interface300athat may be displayed on a screen associated with a computer system, e.g., a computer system having some or all of the component of the computer system described withFIG. 9. The map interface300ain this example shows a dynamic pin310directing a user from a first geolocation320to a point of interest330. The map module210of the booking accommodation application130renders the map interface displaying the first geolocation320, and the dynamic pin module220renders and overlays the dynamic pin310and a name of the point of interest330on the map interface. A user (e.g., a guest) of the booking accommodation application130inputs the first geolocation320and the point of interest330. The first geolocation320and/or the point of interest330may be manually input by the user. In some embodiments, the map module210determines the first geolocation320from a location of a client device of the user (e.g., a location determined via a GPS of the host client device110and/or the guest client device120). In some embodiments, the dynamic pin module220determines the point of interest330from a search history of the user on the booking accommodation application130.

The dynamic pin module220determines a route between the first geolocation320and the point of interest330, and renders the dynamic pin310to point towards the point of interest330. The dynamic pin310in this example is configured to have a tear drop shape bubble with a pointed portion directionally situated towards the point of interest. In the example ofFIG. 3A, the point of interest330in the context of this rendered map is the Golden Gate bridge, located to the left of the first geolocation320, which in the context of this rendered map is Union Square. Accordingly, the pointed portion of the dynamic pin310is directed towards a left side of the map interface. Similarly, if the point of interest330is located to the right of the first geolocation320, the pointed portion of the dynamic pin310would be directed towards a right side of the map interface.

FIG. 3Billustrates one example embodiment of a first updated map interface300bthat may be displayed on a screen associated with a computer system, e.g., a computer system having some or all of the component of the computer system described withFIG. 9. The updated map interface300bis rendered with the dynamic pin310directing the user from a second geolocation340to the point of interest330ofFIG. 3A. The map module210receives another input indicating the second geolocation340. The user may manually input the second geolocation340into the booking accommodation application130. In some embodiments, the map module210determines the second geolocation340in response to the user panning to the second geolocation340on the map interface. In another embodiment, the map module210determines the second geolocation340in response to a change in the location of the user's client device.

The dynamic pin module320renders the dynamic pin310such that it dynamically changes shape in response to the second geolocation340. If the second geolocation340is closer to the point of interest330, the dynamic pin310is modified to have a rounded portion. In FIG.3B, the second geolocation340is the Presidio, which is closer to the point of interest330of the Golden Gate Bridge, resulting in the dynamic pin310having a rounder shape compared to that inFIG. 3A.

FIG. 3Cillustrates one example embodiment of a second updated map interface310cthat may be displayed on a screen associated with a computer system, e.g., a computer system having some or all of the component of the computer system described withFIG. 9. Here, the updated map interface310cis rendered with the dynamic pin310at the point of interest330ofFIG. 3A. As the map module210renders the map interface to include the point of interest330, the dynamic pin module320modifies the shape of the dynamic pin310to now be completely round. Accordingly, the dynamic pin310has no pointed edges since inFIG. 3C, the map interface includes the point of interest330, the Golden Gate Bridge. In some embodiments, when the map interface includes the point of interest330, the dynamic pin module320removes the dynamic pin310from the display.

The dynamic pin310continues to dynamically change in response to determining new geolocations, which are either input by the user of the booking accommodation application130or automatically detected. In some embodiments, a user interaction (e.g., tapping and/or clicking) with the dynamic pin310causes the map module210to modify the map interface to directly show the point of interest330. In some embodiments, in response to receiving, as input from the user, two points of interest, the dynamic pin module220generates two dynamic pins, each one substantially similar to the dynamic pin310, to direct the user to each point of interest.

FIG. 4Aillustrates one example embodiment of a map interface400athat may be displayed on a screen associated with a computer system, e.g., a computer system having some or all of the component of the computer system described withFIG. 9. In this example, the map interface400adisplays accommodations410relative to a radius420about a point of interest430. The map module210renders the map interface in response to the point of interest430, input by the user and/or automatically determined from the user's prior use of the booking accommodation application130. The dynamic circle module230receives, as input, a threshold distance from the point of interest, indicating that the user is seeking accommodations within the threshold distance from the point of interest. The user may provide the threshold distance. In some embodiments, the dynamic circle module230automatically determines the threshold distance based on a number of factors (e.g., popularity and/or accessibility of the area around the point of interest). The dynamic circle module230renders, on the map interface, a dynamic circle440having a radius of the threshold distance, i.e., the radius420, the circle centered on the point of interest430. The dynamic circle module230determines one or more accommodations410located within and/or near the dynamic circle440and displays them on the map interface. In some embodiments, the dynamic circle module230also displays information about the accommodations410, such as cost. In other embodiments, the dynamic circle module230also displays travel time from each accommodation410to the point of interest430, indicating a mode of transport for each travel time. For example, the accommodation410may be20minutes by walk to the point of interest430, as opposed to 10 minutes by car. InFIG. 4A, accommodations410about the point of interest430, Dolores Park, are displayed within and/or around the dynamic circle440having the radius420of 0.5 miles.

FIG. 4Billustrates one example embodiment of an updated map interface400bthat may be displayed on a screen associated with a computer system, e.g., a computer system having some or all of the component of the computer system described withFIG. 9. This this example, the map interface400bdisplays accommodations410relative to a plurality of radii420A,420B about the point of interest430ofFIG. 4A. In this example, responsive to receiving more than one threshold distance from the point of interest430(e.g., from multiple user inputs to the booking accommodation application130), the dynamic circle module230generates dynamic circles440A,440B having radii of the threshold distances, i.e., the radii420A,420B. The dynamic circles440A,440B are centered on the point of interest430. Accordingly, the dynamic circle module230determines and displays accommodations410relative to both dynamic circles440A,440B. The dynamic circle module230maintains the map interface with the accommodations410within and/or around the dynamic circles440A,440B even when the user zooms in and/or out of the map interface.FIG. 4Bshows the two concentric dynamic circles440A,440B, centered around the point of interest430, Dolores Park, with radii420A,420B, respectively, where the radius420A is 0.5 miles, and420B is 1 mile. Accommodations410within and/or around each of the dynamic circles440A,440B are displayed.

FIG. 4Cillustrates one example embodiment of another updated map interface400cthat may be displayed on a screen associated with a computer system, e.g., a computer system having some or all of the component of the computer system described withFIG. 9. In this example, the map interface410cdisplays a drop down menu450that may be overlaid over the rendered map for selecting the radius420about the point of interest430ofFIG. 4A. The dynamic circle module420enables a user to provide input as to a preferred threshold distance from the point of interest430. The dynamic circle module230provides, via the drop down menu450, a predetermined number of threshold distances from which the user can select the radius420to assign the threshold distance. In some embodiments, in response to detecting a user interaction (e.g., tapping and/or clicking on) with the dynamic circle440, the dynamic circle module230presents the user with the drop down menu450.

In some embodiments, the dynamic circle module230receives input of a threshold travel time and/or a mode of transport from the point of interest430. For example, the user may seek accommodations410that are less than 10 minutes by walk to the point of interest430. The dynamic circle module230accordingly determines and displays accommodations that are within the threshold travel time by the specified mode of transport.

In some embodiments, the dynamic circle module230receives input indicating that the user is looking for other points of interest, rather than accommodations, within a threshold distance (e.g., the radius420) from the point of interest430. For example, the user may seek restaurants near the point of interest430, Dolores Park. The dynamic circle module230accordingly presents the user with points of interest located within the dynamic circle440having the radius420about the point of interest430.

In other embodiments, the dynamic circle module230receives input indicating that the user is looking for points of interest within a threshold distance from a selected accommodation410. For example, the user may seek restaurants, landmarks, and tourist attractions within the radius420about the accommodation410. Accordingly, the dynamic circle module230renders the dynamic circle440with the radius420centered on the accommodation410, while displaying points of interest within and/or around the dynamic circle440.

FIG. 5Aillustrates one example embodiment of a map interface510athat may be displayed on a screen associated with a computer system, e.g., a computer system having some or all of the component of the computer system described withFIG. 9. This this example, the map interface510adisplays an obfuscated location of an accommodation510. When a user (e.g., a guest) accesses the booking accommodation application130to reserve the accommodation510listed by a host, the exact location of the accommodation510may be hidden by the host. The map module210renders the map interface510athat includes the accommodation510, while the obfuscation module240obfuscates the precise location of the accommodation510.

The obfuscation module240visually represents the obfuscated location of the accommodation510with a first obfuscation circle520and a second obfuscation circle530. The first obfuscation circle520obscures the exact location of the accommodation510. The second obfuscation circle530indicates a general vicinity of the accommodation. The first and second obfuscation circles520,530are opaque. In some embodiments, the first obfuscation circle520is opaque, while the second obfuscation circle530is translucent.

The obfuscation module240determines sizes of the first and second obfuscation circles520,530based on a population density of the vicinity surrounding the accommodation510. For example, in a city, as shown inFIG. 5A, relatively small obfuscation circles520,530may obscure several buildings in the map interface, thus preventing the guest from determining the exact location of the host's accommodation510. In a sparsely populated rural area, however, where accommodations are multiple miles away from one another, a visual representation of similar size may not sufficiently obscure the location of the accommodation. Thus, the obfuscation module240may present larger visual representations of accommodations in less densely populated areas, and smaller visual representations of accommodations in more densely populated areas. In some embodiments, the obfuscation module240determines sizes of the first and second obfuscation circles520,530based on input from the host of the accommodation510. The host may, for example, specify radii for each of the first and second obfuscation circles520,530via the host client device110.

FIG. 5Billustrates one example embodiment of an updated map interface510bthat may be displayed on a screen associated with a computer system, e.g., a computer system having some or all of the component of the computer system described withFIG. 9. This this example, the map interface510bdisplays the obfuscated accommodation510while zoomed in. As the user (e.g., a guest) zooms in to and/or out of the map interface (e.g., via the guest client device120), the exact location of the accommodation510remains obfuscated. When the map interface is zoomed in, the obfuscation module240maintains the size of the first obfuscation circle520, thereby obscuring the exact location of the accommodation510. The obfuscation module240adjusts the size of the second obfuscation circle530, however, indicating the vicinity of the accommodation510. When the map interface is zoomed out, the obfuscation module240decreases the size of the first obfuscation circle520and may maintain the size of the second obfuscation circle530to indicate the vicinity of the accommodation510.

FIG. 6illustrates one example embodiment of a process for directing a user to a mapped point of interest. The process may be performed by a dynamic pin module (e.g., the dynamic pin module220) of a booking accommodation application (e.g., the booking accommodation application130). The dynamic pin module receives610a first geolocation (e.g., the first geolocation320) of a client device (e.g., the guest client device120), and a selection of a point of interest (e.g., the point of interest330). The dynamic pin module determines620a route between the first geolocation and the point of interest. The dynamic pin module displays630an overlaid bubble (e.g., the dynamic pin310) with a pointed portion situated towards the point of interest. The dynamic pin module receives640a second geolocation (e.g., the second geolocation340) closer to the point of interest than the first geolocation. The dynamic pin module subsequently displays650the overlaid bubble with a rounded portion, as compared to the pointed portion.

FIG. 7illustrates one example embodiment of a process for providing for display an accommodation relative to a radius about a point of interest. The process is performed by a dynamic circle module (e.g., the dynamic circle module230) of a booking accommodation application (e.g., the booking accommodation application130). The dynamic circle module receives710a selection of a point of interest (e.g., the point of interest430). The dynamic circle module determines720a plurality of time-expiring inventory items (e.g., the accommodation410) located within a vicinity of the point of interest. The dynamic circle module receives730a selection of a threshold distance (e.g., the radius420) from the point of interest. The dynamic circle module determines740a subset of the time-expiring inventory items that are located within the threshold distance from the point of interest. In particular, the dynamic circle module determines a subset of the time-expiring inventory items that are within and/or near a circle (e.g., the dynamic circle440) having a radius of the threshold distance. The dynamic circle module displays750a map interface including the point of interest and the subset of time-expiring inventory items within and/or near the threshold distance.

FIG. 8illustrates one example embodiment of a process for dynamically obfuscating a mapped point. The process is performed by an obfuscation module (e.g., the obfuscation module240) of a booking accommodation application (e.g., the booking accommodation application130). The obfuscation module receives810a time-expiring inventory item (e.g., the accommodation510) from a host (e.g., via the host client device110). The obfuscation module displays820a map interface obfuscating a location of the time-expiring inventory (e.g., via the first and second obfuscation circles520,530). The obfuscation module receives830input from a guest client device (e.g., the guest client device120) to zoom in on the map interface. The obfuscation module maintains840the obfuscation of the location of the time-expiring inventory.

The example computer system900includes a processor902(e.g., a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), one or more application specific integrated circuits (ASICs), one or more radio-frequency integrated circuits (RFICs), or any combination of these), a main memory904, and a static memory906, which are configured to communicate with each other via a bus908. The computer system900may further include visual display interface910. The visual interface may include a software driver that enables displaying user interfaces on a screen (or display). The visual interface may display user interfaces directly (e.g., on the screen) or indirectly on a surface, window, or the like (e.g., via a visual projection unit). For ease of discussion the visual interface may be described as a screen. The visual interface910may include or may interface with a touch enabled screen. The computer system900may also include alphanumeric input device912(e.g., a keyboard or touch screen keyboard), a cursor control device914(e.g., a mouse, a trackball, a joystick, a motion sensor, or other pointing instrument), a storage unit916, a signal generation device918(e.g., a speaker), and a network interface device920, which also are configured to communicate via the bus908.

The storage unit916includes a machine-readable medium922on which is stored instructions924(e.g., software) embodying any one or more of the methodologies or functions described herein. The instructions924(e.g., software) may also reside, completely or at least partially, within the main memory904or within the processor902(e.g., within a processor's cache memory) during execution thereof by the computer system900, the main memory904and the processor902also constituting machine-readable media. The instructions924(e.g., software) may be transmitted or received over a network926via the network interface device920.