我正在使用以下代码来查找代码中是否存在坐标点:
mMap.setOnMapClickListener(new OnMapClickListener()
{
public void onMapClick(LatLng point)
{
boolean checkPoly = true;
Point2D[] points = new Point2D[ myPoints.size()];
for ( int i = 0; i < myPoints.size(); i ++)
{
LatLng pt = myPoints.get(i);
points[i] = new Point2D(pt.latitude, pt.longitude);
}
Polygon2D polygon2d = new SimplePolygon2D(points);
double a = point.latitude;
double b = point.longitude;
Point2D myPt = new Point2D(a,b);
checkPoly = polygon2d.contains(myPt);
Log.i("CHECK", String.valueOf(checkPoly));
if (checkPoly)
{
setMarker(point);
}
else
Toast.makeText(NewSearch.this,"The Location is outside of the Area", Toast.LENGTH_LONG).show();
}
我正在使用 JavaGeom 0.11.1 库来查找多边形点。然而,这段代码工作得很好。请注意,myPoints
数组是ArrayList<LatLng>
地图上绘制的多边形的所有顶点中的一个。但是发生了一些事情,现在它正在为地图之外的对面工作;如果我改变!checkPoly
,那么它工作正常。
有谁知道出了什么问题?