我在安卓中使用osmdroid和osmdroid奖励包,绘制了一个多边形。现在我想检查GeoPoint(纬度、经度)是否在该多边形内。我该怎么做?
这里我使用contains方法,但它只接受MotionEvent对象,并且不起作用。是否有其他方法可以实现?
我的代码如下所示。
这里我使用contains方法,但它只接受MotionEvent对象,并且不起作用。是否有其他方法可以实现?
我的代码如下所示。
GeoPoint gPt0 = new GeoPoint(23.215210, 72.648600);
GeoPoint gPt1 = new GeoPoint(23.216030, 72.648340);
GeoPoint gPt2 = new GeoPoint(23.217400, 72.649070);
GeoPoint gPt3 = new GeoPoint(23.216570, 72.650290);
GeoPoint gPt4 = new GeoPoint(23.214750, 72.649130);
List<GeoPoint> list = new ArrayList<>();
list.add(gPt0);
list.add(gPt1);
list.add(gPt2);
list.add(gPt3);
list.add(gPt4);
Polygon polygon = new Polygon(getApplication());
polygon.setPoints(list);
GeoPoint center = new GeoPoint(23.21612, 72.64933);
map.getOverlays().add(polygon);
MotionEvent event = MotionEvent.obtain(1, 1, MotionEvent.ACTION_HOVER_ENTER, (float)23.21602, (float) 72.64926, 1);
Log.e("CONTAINS", polygon.contains(event)+"");