A distributed approach is proposed for planning a cooperative tracking task for a team of heterogeneous unmanned aerial vehicles (UAVs) tracking multiple predictable ground targets in a known urban environment. The solution methodology involves finding visibility regions, from which the UAV can maintain line-of-sight to each target during the scenario, and restricted regions, in which a UAV cannot fly, due to the presence of buildings or other airspace limitations. These regions are then used to pose a combined task assignment and motion planning optimization problem, in which each UAV's cost function is associated with its location relative to the visibility and restricted regions, and the tracking performance of the other UAVs in the team. A distributed co-evolution genetic algorithm (CEGA) is derived for solving the optimization problem. The proposed solution is scalable, robust, and computationally parsimonious. The algorithm is centralized, implementing a distributed computation approach; thus, global information is used and the computational workload is divided between the team members. This enables the execution of the algorithm in relatively large teams of UAVs servicing a large number of targets. The viability of the algorithm is demonstrated in a Monte Carlo study, using a high fidelity simulation test-bed incorporating a visual database of an actual city.