Test des Punktes innerhalb des Polygons in Android

Neulich habe ich eine Klasse in Java gemacht, um zu berechnen, ob apoint(X,Y) befindet sich innerhalb eines Polygons. (X undY sinddouble, weil es sich um Geokoordinaten handelt).

Ich weiß, dass Java die Klasse hatPolygon, aber ich musste verwendenPath2D undPoint2D, daPolygon nicht zulassendouble's, nur ganze Zahlen :(

Sobald ich das Polygon fertig habePath2DIch habe die Methode benutztcontains (Path2D hatte es), und mein Problem wurde gelöst.

Aber jetzt möchte ich auf Android importieren, und das Problem ist hier, weilPath2D muss importieren:

import java.awt.geom.Path2D;
import java.awt.geom.Point2D;

und in Android gibt es keine awt, also kann ich nicht verwenden.

Gibt es eine ähnliche Klasse?Path2D das hattecontains Methode? oder muss ich selber rechnen?

Hier ist, wie ich es in Java gemacht habePath2D:

private void ConstructPolygon(Vector<Point2D> coodinates)
{       
    this.polygon.moveTo(coodinates.get(0).getX(), coodinates.get(0).getY());        

    //System.out.println(coodinates.get(0).getX() + "   " + coodinates.get(0).getY());
    //System.out.println("asda");

    for(int i = 1; i < this.num_points; i++)
    {
        //System.out.println(coodinates.get(i).getX() + "   " + coodinates.get(i).getY());
        this.polygon.lineTo(coodinates.get(i).getX(), coodinates.get(i).getY());
    }
    this.polygon.closePath();
}
public boolean InsideCity(Point2D punto)
{
    return this.polygon.contains(punto);                
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage