In this research, a maximal covering location problem (MCLP) with real-world constraints such as multiple types of facilities and vehicles with different setup costs is taken into account. An original mixed integer linear programming (MILP) model is constructed in order to find the optimal solution. Since the problem at hand is shown to be NP-hard, a constructive heuristic method and a meta-heuristic approach based on genetic algorithm (GA) are developed to solve the problem. To find the most effective solution technique, a set of problems of different sizes is randomly generated and solved by the proposed solution methods. Computational results demonstrate that the heuristic method is capable of producing optimal or near-optimal solutions in a rational execution time.