So konvertieren Sie einen GeoPoint in einen Hardware-Bildschirmpunkt

Ich möchte einen GeoPoint in einen Bildschirmpunkt konvertieren, um alle Objekte zu identifizieren, die sich über einem Berührungsereignis befinden. Also habe ich Folgendes versucht:

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

Aber po.x und po.y sind nicht die Bildschirmkoordinaten, sondern die Kartenansichtskoordinaten in Pixel anstelle von lat, lon.

Von der Android-Entwickler-Website:

toPixels (GeoPoint in, android.graphics.Point out) Konvertiert den angegebenen GeoPoint in Bildschirm-Pixelkoordinaten relativ zur linken oberen Ecke der MapView, die diese Projektion bereitgestellt hat.

Ist es also möglich, es in die richtigen Bildschirmkoordinaten umzuwandeln?

Ich will das alles wissenx GeoPoint, die neben dem sind+ Touch-Event wie im obigen Beispiel:

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

Ich bekomme das Touch-Event so:

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

Hier in diesem Code sind x und y die realen Bildschirmkoordinaten (die Hardware- und nicht die Kartenansichtskoordinaten).

Ich weiß, dass ich auch XY-Bildschirmkoordinaten in GeoPoint konvertieren kann, um sie mit meinem GeoPoint zu vergleichen, aber aufgrund der Zoomstufe kann ich nicht das bekommen, was ich will.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage