1. A method of an electronic device, the method comprising: identifying information regarding a plurality of geo-fences stored in the electronic device, the information comprising a number of the plurality of geo-fences and location information for each of the plurality of geo-fences; identifying a number of geo-fences which are available by hardware resources; in response to determining that the number of the plurality of geo-fences is larger than the number of geo-fences which are available by the hardware resources, grouping the plurality of geo-fences into one or more geo-fence groups based on the location information for each of the plurality of geo-fences, wherein a number of the one or more geo-fence groups is less than or equal to the number of geo-fences which are available by the hardware resources; generating one or more virtual geo-fences corresponding to the one or more geo-fence groups; and monitoring the one or more virtual geo-fences.