An Efficient and Effective Approximation Algorithm for the Map Labeling Problem