在安卓系统中测试多边形内部的点
前几天,我用Java上了一门课,计算一个是否在多边形内。(和 是 ,因为将是地理坐标)。point(X,Y)
X
Y
double
我知道Java有这个类,但我不得不使用和,因为不允许,只是整数:(Polygon
Path2D
Point2D
Polygon
double
一旦我完成了多边形,我就使用了这种方法(有它),我的问题就解决了。Path2D
contains
Path2D
但是现在,我想导入到Android,问题就在这里,因为需要导入:Path2D
import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
而且在Android中不存在awt,所以我不能使用。
那么,有没有类似于方法的类呢?还是我必须自己计算?Path2D
contains
以下是我在Java中使用:Path2D
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);
}