A system for providing location-based services, comprising: a computer processor; and a memory connected with the computer processor, the memory comprising instructions that, when executed, cause the computer processor to: determine a current location of a mobile device; determine a direction of movement of the mobile device; determine whether the current location falls within one or more virtual geographic regions (202, 204) acquired by a service entity that provides good or services, wherein each virtual geographic region (202, 204) is defined by at least one geographic coordinate stored in a database; based on a determination that the current location falls within at least one virtual geographic region (202, 204), display the service entity corresponding to the service entity that acquired the at least one virtual geographic region (202, 204) on the mobile device; and based on a determination that the current location falls within multiple overlapping virtual geographic regions: generate a prioritization scheme that prioritizes service entities (108, 110, 112) corresponding to each of the multiple overlapping virtual geographic regions based on the determined direction of movement of the mobile device; and display the service entities (108, 110, 112) corresponding to the multiple overlapping virtual geographic regions on the mobile device according to the prioritization scheme. a computer processor; and a memory connected with the computer processor, the memory comprising instructions that, when executed, cause the computer processor to: determine a current location of a mobile device; determine a direction of movement of the mobile device; determine whether the current location falls within one or more virtual geographic regions (202, 204) acquired by a service entity that provides good or services, wherein each virtual geographic region (202, 204) is defined by at least one geographic coordinate stored in a database; based on a determination that the current location falls within at least one virtual geographic region (202, 204), display the service entity corresponding to the service entity that acquired the at least one virtual geographic region (202, 204) on the mobile device; and based on a determination that the current location falls within multiple overlapping virtual geographic regions: determine a current location of a mobile device; determine a direction of movement of the mobile device; determine whether the current location falls within one or more virtual geographic regions (202, 204) acquired by a service entity that provides good or services, wherein each virtual geographic region (202, 204) is defined by at least one geographic coordinate stored in a database; based on a determination that the current location falls within at least one virtual geographic region (202, 204), display the service entity corresponding to the service entity that acquired the at least one virtual geographic region (202, 204) on the mobile device; and based on a determination that the current location falls within multiple overlapping virtual geographic regions: generate a prioritization scheme that prioritizes service entities (108, 110, 112) corresponding to each of the multiple overlapping virtual geographic regions based on the determined direction of movement of the mobile device; and display the service entities (108, 110, 112) corresponding to the multiple overlapping virtual geographic regions on the mobile device according to the prioritization scheme.