Altitude information is only taken into account if the loacation information is accurate enough. This usually means that you need a good GPS signal before the altitude is used to position the POIs.
You can make sure that the altitude is used by calling
public void setLocation(double lat,
double lon,
double alt,
float accuracy)
yourself with an valid altitude and an accuracy value of e.g 5.f meter.
Jayawant Jagtap