Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2020107676 - AFFICHAGE DE PÉRIMÈTRES DE GÉOREPÉRAGE SUR DES CARTES VIRTUELLES

Document

Description

Title of Invention 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108  

Claims

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20  

Drawings

1   2A   2B   3   4   5   6   7  

Description

Title of Invention : DISPLAYING GEOFENCES IN VIRTUAL MAPS

[0001]
Cross Reference to Related Application
[0002]
This application claims the benefit of Chinese Patent Application No. CN201811458183.6, filed November 30, 2018, and entitled “Geo-Fencing Display Method and Apparatus. ” The entirety of the aforementioned application is incorporated herein by reference.

Technical Field

[0003]
The disclosure relates generally to displaying a geofence in a user interface displaying a virtual map.

Background

[0004]
A ride-hailing platform can automatically connect users requesting transportation services ( “service requesters” ) with users providing transportation services ( “service providers” ) . Each service requester or passenger pays for using the transportation services, while each service provider or vehicle driver receives compensation for providing the transportation services. The ride-hailing platform may make location-based decisions for assigning available service providers to service requesters in spatial proximity. In practice, demand for and supply of transportation services may be distributed in an unbalanced manner for particular regions, especially during peak hours, at night, or in remote areas. Such unbalanced distribution of transportation services may cause problems, such as low utilization of transportation services in certain regions or long wait time for service requesters in other regions.
[0005]
The ride-hailing platform may desire to incentivize certain behavior of service providers or service requesters in order to improve the resource configuration of various regions and to increase the efficiency and user experience of the ride-hailing service. The ride-hailing platform may do so by communicating to the users. The need to effectively communicate, to suitable users, information that likely will be found relevant by the users and likely will incentivize desirable behavior of the users poses a technical challenge.
[0006]
Summary
[0007]
Various embodiments of the present disclosure can include systems, methods, and non-transitory computer readable media for displaying geofences in a user interface showing a virtual map.
[0008]
According to one aspect: A method for providing a geofence comprises receiving, from a client device associated with a user, information about a geographic location of the client device; obtaining, by comparing the geographic location of the client device with location information associated with a geofence, a distance between the geofence and the client device, wherein the geofence specifies a geographic region corresponding to an incentive resource; and sending, based on a determination that the distance is smaller than a threshold value, information associated with the geofence and the incentive resource to the client device for display in a user interface comprising a virtual map, wherein the virtual map further displays a representation of the geographic location of the client device.
[0009]
In some embodiments, the sending is further based on satisfaction of one or more triggering conditions, comprising: that the current time is within a pre-determined timeframe; that the client device is among one or more target client devices associated with the incentive resource; or that an area of the geographic region specified by the target geofence is greater than a pre-determined value.
[0010]
In some embodiments, the obtaining the distance between the geofence and the client device comprises: measuring a distance between the geographic location of the client device and a center of the target geofence; and setting the distance between the geofence and the client device as the measured distance.
[0011]
In some embodiments, the geofence is a polygon comprising a plurality of sides. The obtaining the distance between the geofence and the client device comprises: measuring a plurality of candidate distances, wherein each candidate distance is a distance between the geographic location of the client device and a straight line on which one of the sides lies; and setting the distance between the geofence and the client device as the minimum of the candidate distances.
[0012]
In some embodiments, the geofence is a polygon comprising a plurality of sides. The obtaining the distance between the geofence and the client device comprises: determining a location of a foot of perpendicular from the geographic location of the client device to a straight line on which each of the sides lies; for each foot of perpendicular falling on the corresponding side, measuring a first distance between the geographic location of the client device to the straight line; for each foot of perpendicular falling on an extension line of the corresponding side, measuring a second distance between the geographic location of the client device to each end point of the corresponding side; and setting the distance between the geofence and the client device as the minimum of the first distances and the second distances.
[0013]
In some embodiments, the threshold value is set based at least in part on: a default value based on historical data; a default value based on display settings associated with the user interface; an update to the information associated with the incentive resource; a demand level for travel services in the geographic region specified by the geofence; a number of use instances of travel services in the geographic region specified by the geofence; or a timeframe associated with an event corresponding to the incentive resource.
[0014]
In some embodiments, the area of the geographic region specified by the geofence is set based at least in part on: a default value; one or more characteristics of a location of the geofence; or a current time.
[0015]
In some embodiments, the method further comprises, prior to the sending the information associated with the geofence and the incentive resource for display: detecting a view scale associated with the virtual map; determining, based on the detected view scale, that the geofence and the representation of the geographic location of the client device cannot be simultaneously displayed in the user interface; and adjusting the view scale or a display range of the user interface such that the geofence and the representation are simultaneously displayed.
[0016]
In some embodiments, the information associated with the incentive resource is displayed in a target display region in the user interface. The information comprises: a subject of the incentive resource; a brief description of the incentive resource; event status information corresponding to the incentive resource; or event time information corresponding to the incentive resource.
[0017]
In some embodiments, the method further comprises receiving one or more user inputs comprising an interaction with a navigation button displayed in the target display region; and providing for display a navigation route from the geographic location of the client device to a location within the geographic region specified by the geofence.
[0018]
According to another aspect, a system for providing a geofence comprises a processor and a non-transitory computer-readable storage medium storing instructions that, when executed by the processor, cause the system to perform operations comprising: receiving, from a client device associated with a user, information about a geographic location of the client device; obtaining, by comparing the geographic location of the client device with location information associated with a geofence, a distance between the geofence and the client device, wherein the geofence specifies a geographic region corresponding to an incentive resource; and sending, based on a determination that the distance is smaller than a threshold value, information associated with the geofence and the incentive resource to the client device for display in a user interface comprising a virtual map, wherein the virtual map further displays a representation of the geographic location of the client device.
[0019]
According to another aspect, a non-transitory computer-readable storage medium stores instructions that, when executed by a processor, cause the processor to perform operations comprising: receiving, from a client device associated with a user, information about a geographic location of the client device; obtaining, by comparing the geographic location of the client device with location information associated with a geofence, a distance between the geofence and the client device, wherein the geofence specifies a geographic region corresponding to an incentive resource; and sending, based on a determination that the distance is smaller than a threshold value, information associated with the geofence and the incentive resource to the client device for display in a user interface comprising a virtual map, wherein the virtual map further displays a representation of the geographic location of the client device.
[0020]
These and other features of the systems, methods, and non-transitory computer readable media disclosed herein, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, will become more apparent upon consideration of the following description and the appended claims with reference to the accompanying drawings, all of which form a part of this specification, wherein like reference numerals designate corresponding parts in the various figures. It is to be expressly understood, however, that the drawings are for purposes of illustration and description only and are not intended as a definition of the limits of the invention.

Brief Description of the Drawings

[0021]
Preferred and non-limiting embodiments of the invention may be more readily understood by referring to the accompanying drawings in which:
[0022]
FIG. 1 illustrates an example electronic device 100 for implementing particular embodiments disclosed herein.
[0023]
FIG. 2A illustrates, using a flowchart, an example method for displaying a geofence in a user interface comprising a virtual map.
[0024]
FIG. 2B illustrates, using a flowchart, an example method for displaying a geofence based on a geographic location of a client device.
[0025]
FIG. 3 illustrates an example method for obtaining a distance between an example geofence and an example client device.
[0026]
FIG. 4 illustrates an example user interface displaying an example virtual map, an example geofence, information associated with an example incentive resource, and an example representation of the geographic location of a client device.
[0027]
FIG. 5 illustrates a first schematic structural diagram of a display apparatus according to some embodiments of the present application.
[0028]
FIG. 6 illustrates a second schematic structural diagram of a display apparatus according to some embodiments of the present application.
[0029]
FIG. 7 illustrates a third schematic structural diagram of a display apparatus according to some embodiments of the present application.
[0030]
Detailed Description of the Embodiments
[0031]
Specific, non-limiting embodiments of the present invention will now be described with reference to the drawings. It should be understood that particular features and aspects of any embodiment disclosed herein may be used and/or combined with particular features and aspects of any other embodiment disclosed herein. It should also be understood that such embodiments are by way of example and are merely illustrative of a small number of embodiments within the scope of the present invention. Various changes and modifications obvious to one skilled in the art to which the present invention pertains are deemed to be within the spirit, scope and contemplation of the present invention as further defined in the appended claims.
[0032]
In some embodiments, a ride-hailing platform may provide one or more incentive resources to any service providers or service requesters performing transactions in a particular geographic region in order to attract users outside the region. For example, for a geographic region in short supply of vehicle drivers, the ride-hailing platform may provide an incentive resource (e.g., a boost of the service fees) to incentivize vehicle drivers to the region. As another example, for a geographic region in which transportation services are under-utilized, the ride-hailing platform may provide an incentive resource (e.g., a discount to the service fees) to incentivize potential passengers to use the transportation services in the region.
[0033]
The ride-hailing platform may use a geofence to specify a geographic region, in which an incentive resource is provided. The ride-hailing platform may communicate information associated with the geofence as well as the corresponding incentive resource to appropriate users in order to influence their behavior. In some embodiments, the ride-hailing platform may identify suitable users for a particular geofence. In some embodiments, one or more computing devices associated with the ride-hailing platform may receive information about a geographic location of each of a plurality of client devices and calculate, by comparing the received geographic location with location information associated with the geofence, a distance between the geofence and the client device. If the distance is smaller than a threshold value and one or more other triggering conditions are satisfied, the one or more computing devices may send information associated with the geofence and the incentive resource to the client device for display.
[0034]
In some embodiments, the ride-hailing platform may provide information about a geofence and its corresponding incentive resource in a manner that facilitates a user to move to the region specified by the geofence. One or more computing devices associated with the ride-hailing platform may send the information associated with the geofence and the incentive resource to the client device for display in a user interface comprising a virtual map, where the virtual map further displays a representation of the geographic location of the client device. Upon interactions by the user, a client-side application associated with the ride-hailing platform may also display a navigation route and relevant notifications to guide the user to the geographic region associated with the incentive resource.
[0035]
Particular embodiments disclosed herein effectively communicate information about geofences and incentive resources to users that likely will find such information relevant. Particular embodiments disclosed herein also facilitates user behavior that is consistent with the goals of the incentive resources. To achieve these functionalities, particular embodiments distribute relevant tasks among separate devices connected via a network (e.g., client devices for location detection and user interface provision, server systems for matching users with geofences and generating appropriate information for display) , employ software algorithms applicable to key data (e.g., algorithms for obtaining a distance between a geofence and a client device) , use novel features in user interfaces (e.g., displaying a geofence and information about an incentive resource overlaying a virtual map that also displays a location of a client device) , and execute processes specifically tailored to the use case (e.g., the methods illustrated by FIGs. 2A and 2B) that improves the functioning of computer systems directed to relevant use cases. Particular embodiments provide a technical solution to the aforementioned technical challenge by spatially balancing the demand and supply of transportation services, improving the utilization rate of transportation services, and improving user experience for both service providers and service requesters.
[0036]
Embodiments disclosed herein may be implemented through a cloud platform, a server or a server group (hereinafter collectively the “service system” ) that interacts with a client. The client may be a terminal device or a client registered by a user at a platform, wherein the terminal device may be a mobile terminal, a personal computer (PC) , and any device that may be installed with a platform application program.
[0037]
In some embodiments, the service system may be a single server or a server group. The server group may be centralized or distributed (e.g., the service system may be a distributed system) . In some embodiments, the service system may be local or remote relative to a terminal. For example, the service system may access information and/or data stored in a client, a database, or any combination thereof via a network. In some embodiments, the service system may be implemented on a cloud platform. As an example, a cloud platform may comprise a private cloud, a public cloud, a mixed cloud, a community cloud, a distributed cloud, an inter-cloud, and multi-clouds, or any combination thereof. In some embodiments, the service system may be implemented on an electronic device 100 comprising one or more components shown in FIG. 1 in the present application.
[0038]
In some embodiments, the service system may comprise a processor. The processor may process information and/or data related to a service request, so as to execute one or more functions described herein. In some embodiments, the processor may comprise one or more processing cores (e.g., a single-core processor (S) or a multi-core processor (S) ) . Only as an example, the processor can comprise Central Processing Unit (CPU) , Application Specific Integrated Circuit (ASIC) , Application Specific Instruction-set Processor (ASIP) , Graphics Processing Unit (GPU) , Physics Processing Unit (PPU) , Digital Signal Processor (DSP) , Field Programmable Gate Array (FPGA) , Programmable Logic Device (PLD, controller, microcontroller unit, Reduced Instruction Set Computing (RISC) , or micro-processor, or any combination thereof.
[0039]
FIG. 1 illustrates an example electronic device 100 for implementing particular embodiments disclosed herein. The electronic device 100 may comprise a processor 120 that may be used to execute functions disclosed herein. The electronic device 100 may be a computing device, such as a general computer or a computer with a special use, which may be used to implement the methods for displaying a geofence disclosed herein. Although FIG. 1 illustrates one electronic device 100, functions set forth herein may be implemented in a distributed manner on a plurality of similar platforms to distribute or balance processing load.
[0040]
In some embodiments, the electronic device 100 may comprise a network port 110 connected to a network, one or more processors 120 for executing program instructions, a communication bus 130, and storage media 140. The storage media 140 may comprise a magnetic disk, ROM, RAM, another suitable storage medium, or any combination thereof. In some embodiments, a computer platform may further comprise program instructions stored in ROM, RAM, other types of non-transient storage media, or any combination thereof. Methods according to particular embodiments disclosed herein may be implemented according to the program instructions. The electronic device 100 may further comprise an input/output (I/O) interface 150 between a computer and other input/output devices (for example, a keyboard, a monitor, and the like) .
[0041]
Although FIG. 1 illustrates only one processor 120, the electronic device 100 may comprise a plurality of processors. Any steps described in this disclosure that are executed by the one processor 120 may also be executed jointly or separately by a plurality of processors. For example, if the processor of the electronic device 100 executes Step A and Step B, it should be understood that Step A and Step B may be executed jointly by two different processors or separately by a single processor (e.g., a first processor executes Step A and a second processor executes Step B, the first processor and the second processor jointly execute Step A and Step B) .
[0042]
FIG. 2A illustrates, using a flowchart, an example method 200a for displaying a geofence in a user interface comprising a virtual map.
[0043]
The method 200a may begin at steps 205 and 210. At step 205, one or more computing devices may retrieve information associated with one or more geofences. In some embodiments, one or more geofences may be defined on a virtual map. The geofences may divide a displayed part of the virtual map into one or more portions. Each geofence may specify a geographic region on the virtual map, which may correspond to a geographic region within the area represented by the virtual map. Information associated with the geofence may comprise, for example, a location of the geofence, a shape of the geofence, an area of the geofence, other suitable information, or any combination thereof. As an example and not by way of limitation, information associated with one or more geofences may be generated and stored by one or more server systems of a travel service (e.g., a ride-hailing service) .
[0044]
In some embodiments, an area of the geographic region specified by a geofence may be fixed or automatically adjusted. The size of the geographic region may be set based at least in part on a default value, one or more characteristics of a location of the geofence, or a current time. In some embodiments, an area of the geographic region covered by a geofence may be a value fixed or preset when the geofence is created. In some embodiments, an area of the geographic region covered by a geofence may be promptly and automatically adjusted based on real-time data, such as display status of the virtual map, a current time, or other suitable factors. As an example and not by way of limitation, the area may be set based on one or more characteristics of a location of the geofence. A larger region may be specified by a geofence for a more developed area (e.g., an urban area) ; a smaller region may be specified by a geofence for a less developed area (e.g., a rural area) . In some embodiments, the area may be set based on a current time. A smaller region may be specified during holidays to prevent overly concentrating service resources to the particular region during such times of high demand for rides. A larger region may be specified during work days to prevent overly dispersing service resources during such times of low demand for rides.
[0045]
In some embodiments, a geofence may specify a geographic region corresponding to an incentive resource. In some embodiments, the geofence may be provided by an entity that desire to coordinate actions of a plurality of service providers (e.g., vehicle drivers) and a plurality of service requesters (e.g., passengers) . The entity may provide one or more incentive resources designed to incentive desired behavior of the service providers or service requesters. The incentive resources may be location-based and may be made available to and only to targeted users within particular geographic regions. The geofences may be used to define such geographic regions. In some embodiments, an incentive resource may provide an award for service providers. As an example and not by way of limitation, in the context of a ride-hailing service, a vehicle driver providing a ride that starts within a geographic region specified by a geofence may receive award fees, double service fees, or other suitable incentives. This incentive resource may be offered because the demand for rides substantially exceeds supply. This may be the case during peak traffic hours, nights, or for remote areas. The incentive resource may also be offer based on discount events or award events occurring in the specified geographic region. In some embodiments, an incentive resource may provide an award for service requesters. As an example and not by way of limitation, in the context of a ride-hailing service, a passenger requesting a ride that starts within a geographic region specified by a geofence may be offered a discount. This may be due to limited number of vehicles, long wait time, or occurrence of award events.
[0046]
At step 210, the one or more computing devices may receive information about a geographic location of each of a plurality of client devices. In some embodiments, a service (e.g., a ride-hailing service) may provide a client-side application for installation on users’ client devices. The client-side application may communicate with one or more servers associated with the service. In some embodiments, via the client-side application, one or more computing devices associated with the service may receive, from a client device associated with each of a plurality of users, information about a geographic location of the client device.
[0047]
In some embodiments, a user may be a service requester, such as a passenger in the context of a ride-hailing service. The client device may comprise a service-requesting terminal, such as a mobile phone, a template computer, a smart wearable device, or other suitable devices. The client-side application may comprise an (passenger-side) online ride-hailing application allowing the service requester to request a ride from a vehicle driver via a ride-hailing service. In some embodiments, a user may be a service provider. The client device may comprise a service-providing terminal, such as a mobile phone, a template computer, a smart wearable device, a vehicle mounted terminal, or other suitable devices. The client-side application may comprise an (driver-side) online ride-hailing application allowing the service provider to accept or reject an order for a ride.
[0048]
The client-side application may obtain access to a location of its corresponding client device detected by one or more sensors or networking devices of the client device. The client-side application may send such location information to one or more computing devices associated with the service (e.g., a ride-hailing service) . The service thereby may obtain information associated with the locations of a plurality of client devices associated with a plurality of users.
[0049]
At step 215, the one or more computing devices may calculate, for a particular client device-geofence pair, a distance between the geofence and the client device. In some embodiments, the one or more computing devices may calculate a distance between a geofence and a client device by comparing the geographic location of the client device with location information associated with the geofence. This distance is the distance between the client device and the geographic region specified by the geofence as well as the distance a user corresponding to the client device need to travel to reach the incentive resource corresponding to the geofence.
[0050]
The distance between the geofence and the client device may be defined and calculated using one or more methods. In some embodiments, the distance between a client device and a geofence may be defined as a distance from the geographic location of the client device to a center of the geofence. Obtaining the distance may comprise measuring a distance between the geographic location of the client device and a center of the target geofence and setting the distance between the geofence and the client device as the measured distance. The geographic location of the client device may be determined based on data received from the client device. The geographic location of the center of the geofence may be obtained based on information associated with the geofence, such as its location and shape. In case the geofence takes the shape of a regular polygon, the center of the geofence may be defined as the center point of the regular polygon. In case the geofence takes an irregular shape without a generally-defined center point, the center of the geofence may be preset when the geofence is created. Information about the center may be stored with other location information associated with the geofence.
[0051]
In some embodiments, for a geofence that takes the shape of a polygon, the distance between a client device and the geofence may be defined as a shortest distance from the client device to at least one straight line on which a side of the geofence lies. Obtaining the distance may comprise measuring a plurality of candidate distances, wherein each candidate distance is a distance between the geographic location of the client device and a straight line on which one of the sides of the geofence lies, and setting the distance between the geofence and the client device as the minimum of the candidate distances. The geographic location of the client device may be determined based on data received from the client device. Characteristics of each side of the geofence may be determined based on location information associated with the geofence. The distance from the geographic location of the client device to a straight line on which a side of the geofence lies may equal the length of a line segment that is perpendicular to the straight line, with one end point being the geographic location of the client device and the other end point on the straight line.
[0052]
In some embodiments, for a geofence that takes the shape of a polygon, the distance between a client device and the geofence may be defined as a shortest distance from the client device to at least one side of the geofence. To calculate the distance, one or more computing devices may first determine a location of a foot of perpendicular from the geographic location of the client device to a straight line on which each of the sides of the geofence lies. Then, for each foot of perpendicular falling on the corresponding side, the one or more computing devices may measure a first distance between the geographic location of the client device to the straight line; for each foot of perpendicular falling on an extension line of the corresponding side, the one or more computing devices may measuring a second distance between the geographic location of the client device to each of the two end points of the corresponding side. The one or more computing devices may identify the minimum value of all the first distances and the second distances that have been measured and setting the distance between the geofence and the client device as the minimum value. This method addresses the situation where a line that passes through the geographic location of the client device and is perpendicular to a straight line on which a side of the geofence lies does not intersect the side, but rather intersect an extension line. In this case, the length of the line segment between the geographic location of the client device and the foot of perpendicular does not represent an actual distance from the client device to the side. Rather, the shortest distance from the client device to the side is the shorter of the distances from the client device to the end points of the sides. In the alternative, the one or more computing devices may measure the distance from the geographic location of the client device to each foot of perpendicular that falls on a side of the geofence as well as the distance from the geographic location of the client device to each vertex of the geofence. The one or more computing devices may then identify the minimum of all the distances and set this minimum value as the distance between the geographic location of the client device and the geofence.
[0053]
FIG. 3 illustrates example methods for obtaining a distance between an example geofence and an example client device. FIG. 3 illustrates a geofence 310 and a representation of a client device 320. The geofence 320 may be a polygon having sides 311, 312, 313, 314, 315, 316, and 317. One or more computing devices associated with a travel service may determine a geographic location of the client device 320 and a geographic location corresponding to each of the sides 311-317 as well as characteristics of the sides (e.g., location of end points, directions, lengths) .
[0054]
Taking the side 311 as an example, a line 341 that passes through the location of the client device 320 and is perpendicular to the side 311 may be created. The perpendicular line 341 may intersect with a straight line overlapping the side 311 at the foot of perpendicular 331. It may be determined that the foot of perpendicular 331 falls on the side 311. The distance between the client device 320 and the side 311 may be calculated as the distance between the geographic location of the client device 320 and the foot of perpendicular 331 or the length of the line segment 341.
[0055]
Taking the side 313 as another example, a line 342 that passes through the location of the client device 320 and is perpendicular to the side 313 may be created. The perpendicular line 342 may intersect with a straight line overlapping the side 313 at the foot of perpendicular 332. It may be determined that the foot of perpendicular 332 does not fall on the side 313, but rather on an extension line thereof. Based on this determination, the one or more computing devices may calculate distances from the client device 320 to the two end points 333 of the side 313. The smaller of the distances calculated this way may be used as the distance from the client device 320 to the side 313.
[0056]
A distance from the client device 320 to each of the other sides 312, 314, 315, 316, and 317 may be similarly calculated. The one or more computing devices may select the minimum distance among the distances to the different sides of the geofence 310 to be the effective distance between the client device 320 and the geofence 310. This resulting distance may accurately represent the distance a user associated with the client device 320 needs to travel to reach the geofence 310. This method of calculation may prevent potential errors in estimating the distance.
[0057]
At step 220, the one or more computing devices may determine whether the calculated distance between the geofence and the client device is smaller than a threshold value. In some embodiments, the service creating one or more geofences may selectively send one or more of the geofences to one or more users based on determined locations of the users. A geofence may only be sent to one or more client devices that are near the geographic region specified by the geofence, as only the users associated with these client devices may be determined to be able to benefit from an incentive resource corresponding to the geofence. If the calculated distance between the geofence and the client device is smaller than the threshold value, the method 200a may proceed to step 225 if one or more additional conditions are required for the geofence to be displayed. Alternatively, the method 200a may directly proceed to step 230 if no additional condition is required. On the other hand, if the calculated distance between the geofence and the client device is not smaller than the threshold value, it may be determined that the user corresponding to the client device is not qualified to view information associated with the geofence. The method 200a may return to the beginning, which may correspond to repeating the method at a later time.
[0058]
In some embodiments, the threshold value for the distance between a geofence and a client device may be fixed or automatically adjusted. The threshold value may be set based at least in part on a default value based on historical data, a default value based on display settings associated with a user interface displaying a virtual map, an update to information associated with the incentive resource, a demand level for travel services in the geographic region specified by the geofence, a number of use instances of travel services in the geographic region specified by the geofence, a timeframe associated with an event corresponding to the incentive resource, another suitable factor, or any combination thereof. In some embodiments, the threshold value may be a value fixed or preset based on historical data or display settings associated with the virtual map when the geofence is created.
[0059]
In some embodiments, the threshold value may be automatically adjusted or updated based on changes to the incentive resource. As another example and not by way of limitation, the threshold value may be set to be relatively large when a geographical region specified by a geofence corresponds to multiple or a relatively large number of incentive resources. This threshold value may be decreased if the number of incentive sources corresponding to the geographic region decreases.
[0060]
In some embodiments, the threshold value may be automatically adjusted or updated based on an event corresponding to an incentive resource. The incentive resource may be offered as part of the event, which may occur within a particular timeframe. As an example and not by way of limitation, the threshold value may be set to be relatively large when an event associated with an incentive resource has not started or has just started, so as to notify a relatively large number of users the upcoming event corresponding to the geofence. On the other hand, when an event associated with an incentive resource has started for a substantial period of time, the threshold may be set of a relatively small value, so that the number of users attacked to the region specified by the geofence does not exceed a needed level.
[0061]
In some embodiments, in the context of a ride-hailing service, the threshold value may be automatically adjusted or updated based on changes to the demand and supply of ride services within the geographic region specified by the geofence. As an example and not by way of limitation, if the incentive resource is designed to motivate one or more service providers affiliated with the ride-hailing service to the geographic region specified by a geofence, the threshold value may be set to be relatively large when there is a relatively high level of demand for ride services in the region, so that enough service providers are attracted to enter the region and satisfy the demand. This threshold value may be decreased if the demand for ride services decrease within the region. As illustrated by the above examples, the distance threshold value may be adjusted to match or balance a number of users learning about corresponding incentive resources with the desirable number of users attracted to a particular region by the incentive resources.
[0062]
At step 225, the one or more computing devices may determine whether one or more additional triggering conditions are satisfied. If the one or more additional triggering conditions are determined to be satisfied, the method 200a may proceed to step 230. Otherwise, the method 200a may proceed to the beginning, which may correspond to repeating the method 200a at a later time. In some embodiments, in addition to location-based requirements, the one or more computing devices may determine if one or more additional triggering conditions are satisfied before sending information about a geofence to a client device for display. The triggering conditions may comprise that the current time is within a pre-determined timeframe, that the client device is among one or more target client devices associated with the incentive resource, that an area of the geographic region specified by the target geofence is greater than a pre-determined value, another suitable triggering condition, or any combination thereof.
[0063]
In some embodiments, it may be required that the current time is within a preset timeframe. Here, the current time may be determined to be the time when a user opens an application associated with the service on the user’s client device (e.g., a ride-hailing application) . Alternatively, the current time may be determined to be the time when a user enters within a distance range from a geofence. The timeframe may be set based on information associated with an incentive resource associated with a geofence. The timeframe may also be set based on, for example, a peak period of demand of ride services.
[0064]
In some embodiments, it may be required that a client device is among one or more target client devices associated with the incentive resource. As an example and not by way of limitation, in the context of a ride-hailing service or other services that coordinate behavior of service providers and service requesters, a particular incentive resource may be designed to incentivize certain behavior of a service provider (e.g., vehicle driver) . In this case, only a service provider or a user of a service-providing terminal satisfies the triggering condition because the client device is among one or more target client devices associated with the incentive resource. A service requester or a user of a service-requesting terminal will not satisfy this triggering condition. In other words, a triggering condition may require that a user or a client device to be a particular type. As another example and not by way of limitation, a triggering condition may require one or more other characteristics of a user or a client device. Such a triggering condition may require a credit score or customer-review score of a user to exceed a threshold. Such a triggering condition may alternatively require a license plate number of a user to meet certain requirements in order to enter a particular region. Such a triggering condition may comprise one or more other suitable requirements.
[0065]
Particular embodiments described above may improve the accuracy and timeliness of displaying a geofence by imposing additional triggering conditions. Using triggering conditions in addition to location-based requirements allows the relevant service to determine not only that a user is close enough to an incentive resource corresponding to a geofence to reach the region in reasonable time, but also that a user is qualified to receive or is likely interested in the incentive resource. Particular embodiments improve user experience in using service applications by making it more interactive, relevant, and fun.
[0066]
In some embodiments, no additional triggering condition is required. A geofence may be sent to a client device for display after determining that a distance between the geofence and the client device is within a threshold value. In such an embodiment, the method 200a does not include the step 225.
[0067]
At step 230, the one or more computing devices may send information associated with the geofence or the incentive resource to the client device for display in a user interface comprising a virtual map. The virtual map also further displays a representation of the geographic location of the client device. The information associated with the geofence or the incentive resource may be sent for display based at least in part on a determination that the distance between the geofence and the client device is smaller than the threshold value. It may be based further on a determination that one or more additional triggering conditions are satisfied. By displaying the information associated with the geofence and the incentive resource in a user interface displaying a virtual map, a service application may notify a user the incentive resource as well as the requirement for the user to enter the region specified by the geofence in order to receive the incentive resource. Particular embodiments may clearly and effectively display the relevant information to the user and may stimulate the user’s interest in the geofence as well as the incentive resource.
[0068]
In some embodiments, the geofence and the representation of the current geographic location of a qualifying client device may be simultaneously displayed on the user interface displaying the virtual map. The representation may be a symbol or logo corresponding to the client device or the user displayed at a position on the virtual map that corresponds to the actual geographic location of the client device, as determined based on sensor data collected or provided by the client device. This may facilitate a user associated with the client device to clearly view the relative positions of the geofence and the client device and their distance, which may stimulate the user’s interest in entering the region corresponding to the geofence.
[0069]
In some embodiments, the one or more computing devices associated with the relevant service or the client device may dynamically adjust one or more display settings associated with the user interface displaying the virtual map. In some embodiments, prior to the sending the information associated with the geofence and the incentive resource to the client device for display, the one or more computing devices may detect a view scale associated with the virtual map. The one or more computing devices may then determine, based on the detected view scale, whether the geofence and the representation of the geographic location of the client device can be simultaneously displayed in the user interface. If not, the one or more computing devices may adjust the view scale or a display range of the user interface such that the geofence and the representation are simultaneously displayed.
[0070]
The adjustment to the view scale or the display range may be carried out via a service application installed on the client device. Such adjustment may comprise increasing or decreasing the view scale of the virtual map, enlarging or shrinking a portion of the virtual map that is displayed, or changing the portion of the virtual map that is displayed. In some embodiments, the client device may display instructions or other suitable guidance information to guide a user to manually adjust the view scale or display range.
[0071]
FIG. 4 illustrates an example user interface displaying an example virtual map, an example geofence, information associated with an example incentive resource, and an example representation of the geographic location of a client device.
[0072]
FIG. 4 may correspond to a user interface displayed by a service application that is installed on a client device. As an example and not by way of limitation, the service application may be an online ride-hailing application. This user interface may be displayed when a distance between a geofence and the client device is detected to be smaller than a threshold value. The user interface may display a virtual map 400. The virtual map 400 may correspond to a particular real-world geographic region. The user interface may simultaneously display a representation 420 of the current geographic location of the client device as well as a geofence 410. In some embodiments, the geofence 410 may be displayed as an overlay above the virtual map 400. The geofence 400 may be highlighted or be associated with a particular color to distinguish the region covered by the geofence from the remaining parts of the virtual map 400.
[0073]
As further shown in FIG. 4, an icon 430 corresponding to an incentive resource may be displayed within the region covered by the geofence 410. As an example, the incentive resource offered may be a 1.6 factor on the normal service fee. The icon may display “1.6X” to indicate the nature of this incentive resource. The icon 430 corresponding to the incentive resource may be interacted with by a user (e.g., the user clicking on the icon 430) . The interaction may cause switching of the user interface to a different page, which may display details of the incentive resource. Alternatively, the interaction may trigger display of a dialogue box displaying detailed information about the incentive resource.
[0074]
In some embodiments, multiple geofences may be displayed on top of the virtual map 400, each geofence may correspond to a particular region of the virtual map. As an example and not by way of limitation, the user interface illustrated by FIG. 4 may further display a target display region 440 showing information associated with another incentive resource. The target display region 440 may display a description of the nature of the incentive resource (e.g., “Doubled Prize” ) and a timeframe associated with the incentive resource (e.g., “30 min before the event starts” ) .
[0075]
In some embodiments, a user interface that displays a virtual map may display information associated with an incentive resource in a target display region. Such information may comprise a subject of the incentive resource, a brief description of the incentive resource, event status information corresponding to the incentive resource, event time information corresponding to the incentive resource, other suitable information, or any combination thereof. For example, the subject of the incentive resource may be “doubled prize, ” “thank-you reward, ” or another suitable subject. For example, the brief description may comprise information such as a factor that a normal service fee is multiplied by, a specific amount of thank-you reward, a quantity of orders required, or other suitable information. For example, the event status information may indicate whether an event associated with the incentive resource has not started, is ongoing, or is of another suitable status. For example, the event time information may comprise a start time of an event associated with the incentive resource, a countdown to the beginning of the event, an amount of remaining time for the event, or other suitable time information. The information associated with the incentive resource may all be displayed in a target display region that is part of the user interface displaying the virtual map. Alternatively, the information associated with the incentive resource may be distributed among a plurality of target display regions that are close to each other in the user interface displaying the virtual map.
[0076]
At step 235, the one or more computing devices may determine whether a required user interaction has been received. In some embodiments, the user interface displaying the virtual map may comprise one or more interactive elements corresponding to different user activities. The interactive elements may comprise a navigation button. As illustrated by FIG. 4, a navigation button 450 may be displayed in the target display region 440. The user may interact with the navigation button 450 by, for example, clicking on it, long pressing on it, or executing another suitable operation. In some embodiments, the one or more computing devices may receive one or more user inputs comprising an interaction with a navigation button displayed in the target display region. The one or more computing devices may determine whether a required user interaction has been received. If so, they may proceed to step 240 of the method 200a and provide for display a navigation route from the geographic location of the client device to a location within the geographic region specified by the geofence. Otherwise, if the one or more computing devices do not receive the required user interface with the navigation button for a preset period of time, they may return to the beginning of the method 200a.
[0077]
At step 240, the one or more computing devices may provide for display a navigation route. In some embodiments, if a user carries out a required interview with a navigation button, it can be determined that the user needs to enter the region indicated by a geofence. The one or more computing devices may thereby provide for display a navigation route from the geographic location of the user’s client device to a preset location within the region specified by the geofence.
[0078]
In some embodiments, if more than one geofences are simultaneously displayed in the user interface displaying the virtual map, the one or more computing devices may automatically select one of the geofences as the destination for navigation. The selection may be based on one or more criteria. As an example and not by way of limitation, the selection may be based on the distance from each geofence to the client device. A distance between each geofence and the client device may be calculated and the geofence that is the closest to the client device may be selected as the destination for navigation. As another example and not by way of limitation, the selection may be based on an order in which the geofences are displayed in the user interface. An order of priority for the geofences may be determined and the geofence that was displayed first may be selected as the destination for navigation. As another example and not by way of limitation, the selection may be based on a timeframe associated with an event corresponding to the incentive resource for each geofence. A geofence whose incentive resource corresponds to an event having the latest ending time may be used as the destination for navigation. As another example and not by way of limitation, the selection may be based on details of the incentive resource. Each incentive resource may comprise an amount of award and an amount of effort required for obtaining the award. The amount of award and amount of required effort may be compared among a plurality of geofences and the geofence corresponding to the highest award or lowest effort may be selected as the destination for navigation. As yet another example and not by way of limitation, one geofence may be randomly selected from a plurality of geofences as the destination for navigation. In some embodiments, if a plurality of geofences are displayed on the user interface displaying the virtual map, the geofences may be filtered based on a plurality of sorted criteria. Alternatively, a geofence meeting the largest number of criteria may be selected as the destination for navigation.
[0079]
At step 245, the one or more computing devices may determine whether the user has entered the region specified by the geofence. In some embodiments, it may be determined that the user has entered the region following the navigation route. If so, the method 200a may proceed to step 250. Otherwise, if the user does not follow the navigation route for a preset period of time, it may be determined that the user is unwilling to go to the geofenced area and the method 200a may return to the beginning.
[0080]
At step 250, the one or more computing devices may send a notification to the client device. In some embodiments, if a user or the user’s client device is determined to have entered a geographic region specified by a geofence (e.g., following a navigation route) , a notification may be sent to the client device indicating the fact that the user has entered the desired region. The notification may be textual or audio.
[0081]
FIG. 2B illustrates, using a flowchart, an example method 200b for displaying a geofence based on a geographic location of a client device. In particular embodiments, one or more computing devices associated with a service (e.g., a ride-hailing service) may send information associated with a geofence to a client device based on a location-based triggering condition. The method 200b may begin at step 255, where the one or more computing devices may receive, from a client device associated with a user, information about a geographic location of the client device. At step 260, the one or more computing devices may obtain, by comparing the geographic location of the client device with location information associated with a geofence, a distance between the geofence and the client device, wherein the geofence specifies a geographic region corresponding to an incentive resource. At step 265, the one or more computing devices may send, based on a determination that the distance is smaller than a threshold value, information associated with the geofence and the incentive resource to the client device for display in a user interface comprising a virtual map, wherein the virtual map further displays a representation of the geographic location of the client device.
[0082]
FIGs. 5, 6, and 7 illustrate structures of a display apparatus 600 according to some embodiments of the present application. The display apparatus 600 may implement particular steps of the method for displaying a geofence that is disclosed herein. The display apparatus 600 may comprise an aforementioned server, a processor of the server, or a component independent of the above server or processor for implementing functions disclosed herein as controlled by the server, such as a component that can be embedded into the client.
[0083]
FIG. 5 comprises a first schematic structural diagram of a display apparatus 500 according to some embodiments of the present application. As shown in FIG. 5, the display apparatus 500 may comprise: a first detecting module 510 configured to calculate, by comparing a received geographic location of a client device with location information associated with a geofence, a distance between the geofence and the client device, wherein the geofence specifies a geographic region corresponding to an incentive resource and a first display module 520 configured to send, based on a determination that the distance is smaller than a threshold value, information associated with the geofence and the incentive resource to the client device for display in a user interface comprising a virtual map, wherein the virtual map further displays a representation of the geographic location of the client device. In this embodiment, the display apparatus 500 may be used for a travel service; the client device may be a service providing terminal.
[0084]
FIG. 6 comprises a second schematic structural diagram of a display apparatus 500 according to some embodiments of the present application. As shown in FIG. 6, the display apparatus 500 may comprise: a determining module 530 configured to determine whether the geofence meets one or more triggering conditions and the first display module 520 being configured to send, based on a determination that the distance is smaller than a threshold value and a determination that the one or more triggering conditions are satisfied, information associated with the geofence and the incentive resource to the client device for display in a user interface comprising a virtual map, wherein the virtual map further displays a representation of the geographic location of the client device. In this embodiment, the triggering conditions may comprise at least one of the following: that the current time is within a pre-determined timeframe, that the client device is among one or more target client devices associated with the incentive resource, and that an area of the geographic region specified by the target geofence is greater than a pre-determined value.
[0085]
In some embodiments, the first detecting module 510 may be configured to measure a distance between the geographic location of the client device and a center of the target geofence and set the distance between the geofence and the client device as the measured distance.
[0086]
In some embodiments, the first detecting module 510 may be configured to measure a plurality of candidate distances, wherein each candidate distance is a distance between the geographic location of the client device and a straight line on which one of the sides lies and set the distance between the geofence and the client device as the minimum of the candidate distances.
[0087]
In some embodiments, the first detecting module 510 may be configured to determine a location of a foot of perpendicular from the geographic location of the client device to a straight line on which each of the sides lies, for each foot of perpendicular falling on the corresponding side, measure a first distance between the geographic location of the client device to the straight line, for each foot of perpendicular falling on an extension line of the corresponding side, measure a second distance between the geographic location of the client device to each end point of the corresponding side, and set the distance between the geofence and the client device as the minimum of the first distances and the second distances.
[0088]
In some embodiments, as shown in FIG. 6, the display apparatus 500 may comprise: a second detecting module 540 configured to detect a view scale associated with the virtual map, a third detecting module 550 configured to determine, based on the detected view scale, that the geofence and the representation of the geographic location of the client device cannot be simultaneously displayed in the user interface, and an adjusting module 560 configured to adjusting the view scale or a display range of the user interface such that the geofence and the representation are simultaneously displayed.
[0089]
FIG. 7 comprises a third schematic structural diagram of a display apparatus 500 according to some embodiments of the present application. In some embodiments, as shown in FIG. 7, the display apparatus 500 may comprise a second display module 570 configured to display information associated with the incentive resource in a target display region in the user interface. In this embodiment, the information associated with the incentive resource may comprise a subject of the incentive resource, a brief description of the incentive resource, event status information corresponding to the incentive resource, or event time information corresponding to the incentive resource.
[0090]
In some embodiments, as shown in FIG. 7, the display apparatus 500 may comprise a third display module 580 configured to provide for display, after receiving one or more user inputs comprising an interaction with a navigation button displayed in the target display region, a navigation route from the geographic location of the client device to a location within the geographic region specified by the geofence. In some embodiments, as shown in FIG. 7, the display apparatus 500 may comprise a notification module 590 configured to send a notification to the client device if a user or the user’s client device is determined to have entered a geographic region specified by a geofence by following a navigation route.
[0091]
In some embodiments, the display apparatus 500 may calculate a distance between a geofence and a client device, wherein the geofence specifies a geographic region corresponding to an incentive resource and may send, based on a determination that the distance is smaller than a threshold value, information associated with the geofence and the incentive resource to the client device for display in a user interface comprising a virtual map. Particular embodiments may clearly and effectively present a geofence to a user to promote awareness and interest in the incentive resource and the corresponding geofence.
[0092]
The display apparatus 500 according to some embodiments may comprise computer readable storage media storing software programs or instructions. When the software programs or instructions are executed by a processor, the steps of the aforementioned methods for displaying a geofence, as illustrated by FIGs. 2A and 2B may be executed.
[0093]
In some embodiments, the aforementioned modules may be connected in a wired manner or a wireless manner for mutual connection or communication. The wired connection can comprise metal cables, optical cables, mixed cables, another suitable wired connection, or any combination thereof. The wireless connection can comprise connections in the form of LAN, WAN, Bluetooth, ZigBee, NFC, another suitable wireless connection, or any combination thereof. Two or more modules may be combined into one single module. Any module may be divided into two or more units.
[0094]
One of ordinary skill in the art can understand details about the operation and processes of the system and apparatus described above by referring to corresponding processes in the method embodiments described above. In some embodiments, the division of the modules may be logical or functional. Alternative methods of division may be used. Multiple modules or components may be combined or integrated into another system. Some features may be omitted or not executed. The mutual coupling, direct coupling, or communication connection that is illustrated or discussed may be replaced by indirect coupling or communication connection through suitable communication interfaces, apparatuses, or modules, which may be electrical, mechanical, or in other suitable forms.
[0095]
The modules described above as separate components may or may not be physically separated. The components illustrated as modules above may or may not be physical units, i.e., they can be located at one geographic location or distributed over a plurality of network units. The objectives of some embodiments can be achieved by selecting some or all units thereof as needed. The functional units disclosed herein may be integrated into one processing unit or may exist as independent physical units. Two or more units may be integrated into one unit.
[0096]
When the functions disclosed herein are implemented in the form of software functional units and sold or used as independent products, they can be stored in a processor executable non-volatile computer readable storage medium. Particular technical solutions disclosed herein (in whole or in part) or aspects that contributes to current technologies may be embodied in the form of a software product. The software product may be stored in a storage medium, comprising a number of instructions to cause a computing device (which may be a personal computer, a server, a network device, and the like) to execute all or some steps of the methods of the embodiments of the present application. The storage medium may comprise a flash drive, a portable hard drive, ROM, RAM, a magnetic disk, an optical disc, another medium operable to store program code, or any combination thereof.
[0097]
Each of the processes, methods, and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code modules executed by one or more computer systems or computer processors comprising computer hardware. The processes and algorithms may be implemented partially or wholly in application-specific circuitry.
[0098]
The various features and processes described above may be used independently of one another or may be combined in various ways. All possible combinations and sub- combinations are intended to fall within the scope of this disclosure. In addition, certain method or process blocks may be omitted in some implementations. The methods and processes described herein are also not limited to any particular sequence, and the blocks or states relating thereto can be performed in other sequences that are appropriate. For example, described blocks or states may be performed in an order other than that specifically disclosed, or multiple blocks or states may be combined in a single block or state. The example blocks or states may be performed in serial, in parallel, or in some other manner. Blocks or states may be added to or removed from the disclosed example embodiments. The exemplary systems and components described herein may be configured differently than described. For example, elements may be added to, removed from, or rearranged compared to the disclosed example embodiments.
[0099]
The various operations of exemplary methods described herein may be performed, at least partially, by an algorithm. The algorithm may be comprised in program codes or instructions stored in a memory (e.g., a non-transitory computer-readable storage medium described above) . Such algorithm may comprise a machine learning algorithm. In some embodiments, a machine learning algorithm may not explicitly program computers to perform a function but can learn from training data to make a predictions model that performs the function.
[0100]
The various operations of exemplary methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented engines that operate to perform one or more operations or functions described herein.
[0101]
Similarly, the methods described herein may be at least partially processor-implemented, with a particular processor or processors being an example of hardware. For example, at least some of the operations of a method may be performed by one or more processors or processor-implemented engines. Moreover, the one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS) . For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors) , with these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., an Application Program Interface (API) ) .
[0102]
The performance of certain of the operations may be distributed among the processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processors or processor-implemented engines may be located in a single geographic location (e.g., within a home environment, an office environment, or a server farm) . In other example embodiments, the processors or processor-implemented engines may be distributed across a number of geographic locations.
[0103]
Throughout this specification, plural instances may implement components, operations, or structures described as a single instance. Although individual operations of one or more methods are illustrated and described as separate operations, one or more of the individual operations may be performed concurrently, and nothing requires that the operations be performed in the order illustrated. Structures and functionality presented as separate components in example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the subject matter herein.
[0104]
Although an overview of the subject matter has been described with reference to specific example embodiments, various modifications and changes may be made to these embodiments without departing from the broader scope of embodiments of the present disclosure. Such embodiments of the subject matter may be referred to herein, individually or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single disclosure or concept if more than one is, in fact, disclosed.
[0105]
The embodiments illustrated herein are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed. Other embodiments may be used and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. The Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
[0106]
Any process descriptions, elements, or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process. Alternate implementations are included within the scope of the embodiments described herein in which elements or functions may be deleted, executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those skilled in the art.
[0107]
As used herein, the term “or” may be construed in either an inclusive or exclusive sense. Moreover, plural instances may be provided for resources, operations, or structures described herein as a single instance. Additionally, boundaries between various resources, operations, engines, and data stores are somewhat arbitrary, and particular operations are illustrated in a context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within a scope of various embodiments of the present disclosure. In general, structures and functionality presented as separate resources in the example configurations may be implemented as a combined structure or resource. Similarly, structures and functionality presented as a single resource may be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within a scope of embodiments of the present disclosure as represented by the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
[0108]
Conditional language, such as, among others, “can, ” “could, ” “might, ” or “may, ” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.

Claims

[Claim 1]
A method for providing a geofence, comprising: receiving, from a client device associated with a user, information about a geographic location of the client device; obtaining, by comparing the geographic location of the client device with location information associated with a geofence, a distance between the geofence and the client device, wherein the geofence specifies a geographic region corresponding to an incentive resource; and sending, based on a determination that the distance is smaller than a threshold value, information associated with the geofence and the incentive resource to the client device for display in a user interface comprising a virtual map, wherein the virtual map further displays a representation of the geographic location of the client device.
[Claim 2]
The method of Claim 1, wherein the sending is further based on satisfaction of one or more triggering conditions, comprising: that the current time is within a pre-determined timeframe; that the client device is among one or more target client devices associated with the incentive resource; or that an area of the geographic region specified by the target geofence is greater than a pre-determined value.
[Claim 3]
The method of Claim 1, wherein the obtaining the distance between the geofence and the client device comprises: measuring a distance between the geographic location of the client device and a center of the target geofence; and setting the distance between the geofence and the client device as the measured distance.
[Claim 4]
The method of Claim 1, wherein the geofence is a polygon comprising a plurality of sides, and wherein the obtaining the distance between the geofence and the client device comprises: measuring a plurality of candidate distances, wherein each candidate distance is a distance between the geographic location of the client device and a straight line on which one of the sides lies; and setting the distance between the geofence and the client device as the minimum of the candidate distances.
[Claim 5]
The method of Claim 1, wherein the geofence is a polygon comprising a plurality of sides, and wherein the obtaining the distance between the geofence and the client device comprises: determining a location of a foot of perpendicular from the geographic location of the client device to a straight line on which each of the sides lies; for each foot of perpendicular falling on the corresponding side, measuring a first distance between the geographic location of the client device to the straight line; for each foot of perpendicular falling on an extension line of the corresponding side, measuring a second distance between the geographic location of the client device to each end point of the corresponding side; and setting the distance between the geofence and the client device as the minimum of the first distances and the second distances.
[Claim 6]
The method of Claim 1, wherein the threshold value is set based at least in part on: a default value based on historical data; a default value based on display settings associated with the user interface; an update to the information associated with the incentive resource; a demand level for travel services in the geographic region specified by the geofence; a number of use instances of travel services in the geographic region specified by the geofence; or a timeframe associated with an event corresponding to the incentive resource.
[Claim 7]
The method of Claim 1, wherein the area of the geographic region specified by the geofence is set based at least in part on: a default value; one or more characteristics of a location of the geofence; or a current time.
[Claim 8]
The method of Claim 1, further comprising, prior to the sending the information associated with the geofence and the incentive resource for display: detecting a view scale associated with the virtual map; determining, based on the detected view scale, that the geofence and the representation of the geographic location of the client device cannot be simultaneously displayed in the user interface; and adjusting the view scale or a display range of the user interface such that the geofence and the representation are simultaneously displayed.
[Claim 9]
The method of Claim 1, wherein the information associated with the incentive resource is displayed in a target display region in the user interface, and wherein the information comprises: a subject of the incentive resource; a brief description of the incentive resource; event status information corresponding to the incentive resource; or event time information corresponding to the incentive resource.
[Claim 10]
The method of Claim 1, further comprising: receiving one or more user inputs comprising an interaction with a navigation button displayed in the target display region; and providing for display a navigation route from the geographic location of the client device to a location within the geographic region specified by the geofence.
[Claim 11]
A system for ride order dispatching and vehicle repositioning, comprising a processor and a non-transitory computer-readable storage medium storing instructions that, when executed by the processor, cause the system to perform operations comprising: receiving, from a client device associated with a user, information about a geographic location of the client device; obtaining, by comparing the geographic location of the client device with location information associated with a geofence, a distance between the geofence and the client device, wherein the geofence specifies a geographic region corresponding to an incentive resource; and sending, based on a determination that the distance is smaller than a threshold value, information associated with the geofence and the incentive resource to the client device for display in a user interface comprising a virtual map, wherein the virtual map further displays a representation of the geographic location of the client device.
[Claim 12]
The system of Claim 11, wherein the sending is further based on satisfaction of one or more triggering conditions, comprising: that the current time is within a pre-determined timeframe; that the client device is among one or more target client devices associated with the incentive resource; or that an area of the geographic region specified by the target geofence is greater than a pre-determined value.
[Claim 13]
The system of Claim 11, wherein the obtaining the distance between the geofence and the client device comprises: measuring a distance between the geographic location of the client device and a center of the target geofence; and setting the distance between the geofence and the client device as the measured distance.
[Claim 14]
The system of Claim 11, wherein the geofence is a polygon comprising a plurality of sides, and wherein the obtaining the distance between the geofence and the client device comprises: measuring a plurality of candidate distances, wherein each candidate distance is a distance between the geographic location of the client device and a straight line on which one of the sides lies; and setting the distance between the geofence and the client device as the minimum of the candidate distances.
[Claim 15]
The system of Claim 11, wherein the geofence is a polygon comprising a plurality of sides, and wherein the obtaining the distance between the geofence and the client device comprises: determining a location of a foot of perpendicular from the geographic location of the client device to a straight line on which each of the sides lies; for each foot of perpendicular falling on the corresponding side, measuring a first distance between the geographic location of the client device to the straight line; for each foot of perpendicular falling on an extension line of the corresponding side, measuring a second distance between the geographic location of the client device to each end point of the corresponding side; and setting the distance between the geofence and the client device as the minimum of the first distances and the second distances.
[Claim 16]
The system of Claim 11, wherein the threshold value is set based at least in part on: a default value based on historical data; a default value based on display settings associated with the user interface; an update to the information associated with the incentive resource; a demand level for travel services in the geographic region specified by the geofence; a number of use instances of travel services in the geographic region specified by the geofence; or a timeframe associated with an event corresponding to the incentive resource.
[Claim 17]
The system of Claim 11, wherein the area of the geographic region specified by the geofence is set based at least in part on: a default value; one or more characteristics of a location of the geofence; or a current time.
[Claim 18]
The system of Claim 11, wherein the operations further comprise, prior to the sending the information associated with the geofence and the incentive resource for display: detecting a view scale associated with the virtual map; determining, based on the detected view scale, that the geofence and the representation of the geographic location of the client device cannot be simultaneously displayed in the user interface; and adjusting the view scale or a display range of the user interface such that the geofence and the representation are simultaneously displayed.
[Claim 19]
The system of Claim 11, wherein the information associated with the incentive resource is displayed in a target display region in the user interface, and wherein the information comprises: a subject of the incentive resource; a brief description of the incentive resource; event status information corresponding to the incentive resource; or event time information corresponding to the incentive resource.
[Claim 20]
A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising: receiving, from a client device associated with a user, information about a geographic location of the client device; obtaining, by comparing the geographic location of the client device with location information associated with a geofence, a distance between the geofence and the client device, wherein the geofence specifies a geographic region corresponding to an incentive resource; and sending, based on a determination that the distance is smaller than a threshold value, information associated with the geofence and the incentive resource to the client device for display in a user interface comprising a virtual map, wherein the virtual map further displays a representation of the geographic location of the client device.

Drawings

[ Fig. 1]  
[ Fig. 2A]  
[ Fig. 2B]  
[ Fig. 3]  
[ Fig. 4]  
[ Fig. 5]  
[ Fig. 6]  
[ Fig. 7]