Question: I want to fetch the places of 20 meters using current latitude and longitude and display in list(without showing in google map).

Please help me.

Answer: 
This is a typical application for a [quadtree](http://en.wikipedia.org/wiki/Quadtree). The quadtree facilitates lookup of the m points lying in your rectangle in O(log(n) + m), where n is the total number of points.

Edit: Your approach using the map is not nearly as efficient. For randomly distributed points, it would have an O(sqrt(n)) average complexity, and O(n) worst-case.
The first observation would be that `std::map` wouldn't be the most efficient structure in any case. Your input is pretty much fixed, apparently (from the comments). In that case, `std::binary_search` on a sorted `std::vector` is more efficient. The main benefit of `std::map` over a sorted `std::vector` is that insertion is O(log N) instead of O(N), and you don't need that.

The next observation would be that you can probabaly afford to be a bit inaccurate in the first phase. Your output set will probably be a lot smaller than the total number of points (else a linear search would be in order). But assuming that this is the case, you might benefit from rounding up your rectangle. This will result in more candidate points, which you then check against the precise boundary.

For instance, if your points lay randomly distributed in the XY plane between (0,0) and (200,300), it would be possible to create a 20x30 matrix with each holding an subarea of size (10,10). If you now need points in the rectangle from (64,23) to (78, 45), you need to check subareas `[6,2], [6,3], [6,4], [7,2], [7,3] and [7,4]` - only 6 of the 600. In the second step, you'd throw out results such as (61, 25).