Como converter um GeoPoint em um ponto de tela de hardware

Eu gostaria de converter um GeoPoint em um ponto de tela para identificar todos os objetos que estão acima de um evento de toque. Então, eu tentei isso:

Projection projection = this.mapView.getProjection(); 
GeoPoint gie = new GeoPoint(lat, lon);
Point po = new Point();
projection.toPixels(gie, po);

Mas, po.xe po.y não são as coords de tela, mas o mapview coords em pixel ao invés de lat, lon.

Do site do desenvolvedor android:

toPixels (GeoPoint in, android.graphics.Point out) Converte o GeoPoint fornecido em coordenadas de pixels na tela, em relação à parte superior esquerda do MapView que forneceu essa Projeção.

Então, é possível convertê-lo nas coords corretas da tela?

Eu quero conhecer todo ox GeoPoint que estão ao lado do+ toque em evento como no exemplo acima:

----------------------------------------------------------------
(0,0) -----------> x                                           |
  |                                                            |
  |                                                            | 
  |                                                            |  <-- My screen
  |                              + (touch event)               |
 \/                            x (my GeoPoint)                 |
  y                                                            |
                                                               | 
---------------------------------------------------------------- 

Eu recebo o evento de toque assim:

@Override
public boolean onTouchEvent(MotionEvent event) {
    float x = event.getX();
    float y = event.getY();

Aqui, neste código, x e y são as coordenadas reais da tela (as de hardware, não as mapview)

Eu sei que também posso converter coordenadas de tela x, y no GeoPoint para compará-las ao meu GeoPoint, mas, por causa do nível de zoom, não consigo obter o que quero.

questionAnswers(2)

yourAnswerToTheQuestion