1. A method implemented at least partially by one or more processors, the method comprising: accessing a spatial map; partitioning the spatial map into grids to identify representative categories located in each of the grids; selecting a query region with a first two or more points of interests in each of one or more representative categories in the spatial map; in response to the selecting the query region, receiving a set of geographical region candidates in the spatial map that includes a second two or more points of interests in each of the one or more representative categories; selecting one or more reference points at the spatial map; calculating a spatial distribution of the first two or more points of interests, the spatial distribution including a reference distance that is an average distance of the first two or more points of interests to the one or more reference points; calculating spatial distributions of the second two or more points of interests of candidates of the set of geographical region candidates, the spatial distribution of the second two or more points of interests including a reference distance that is an average distance of the second two or more points of interests to the one or more reference points; calculating respective similarities between the query region and candidates of the set of candidates in the spatial map at least based on respective spatial distributions of the query region and respective candidate; and providing top ranking geographical regions from the set of geographical region candidates based on the similarities.