我現在已經幾多邊形如下圖所示,與下面的代碼Android查找多邊形交集?
CustomPolygon customPolygon= data.getCustomPolygonList().get(i);
Path path = new Path();
path.setFillType(Path.FillType.EVEN_ODD);
for(int n=0;n<customPolygon.getCorrdinateList().size();n++)
{
GeoPoint sector1 = new GeoPoint((int)(customPolygon.getCorrdinateList().get(n).getLatitude()*1e6), (int)((customPolygon.getCorrdinateList().get(n).getLongitude())*1e6));
if(n==0){
mapView.getProjection().toPixels(sector1, point1_draw);
path.moveTo(point1_draw.x,point1_draw.y);
}else
{
mapView.getProjection().toPixels(sector1, point1_draw);
path.lineTo(point1_draw.x,point1_draw.y);
}
}
path.close();
canvas.drawPath(path, paint);
我現在就盤算上被繪製到我的MapView我怎麼知道如果ONTAP按鈕與任何多邊形相交。例如,如果它與其中一個多邊形相交,則會顯示一條消息顯示當前的多邊形。
我被困在疊加層的ontap部分。
@Override
public boolean onTap(GeoPoint p, MapView) {
Point point1_draw = new Point();
mapView.getProjection().toPixels(p, point1_draw);
for (int i =0;i<data.getCustomPolygonList().size();i++)
{
CustomPolygon customPolygon= data.getCustomPolygonList().get(i);
for(int n=0;n<customPolygon.getCorrdinateList().size();n++)
{
}
}
return true;
}
你有一個類型:'getCorrdinateList'應該是'getCoordinateList'。要修復它,請點擊它並在大多數IDE中按下Ctrl-Shift-R。 – 2012-07-30 08:33:30
哦錯字,這是一個用於存儲多邊形座標的自定義類 – ericlee 2012-07-30 08:49:50