如何检查GPS坐标是否在5个多边形之一?

时间:2014-04-02 10:45:52

标签: android algorithm polygon point coordinate

我的Google地图上有5个多边形。另外,我有用户的当前坐标。我尝试使用“多边形点”来检查用户是否在其中一个多边形中?算法,它每次都有效。但我需要检查用户的五个多边形中的哪一个。你对这个问题有什么建议吗? 谢谢!

编辑:这是用于查明点是否在多边形中的功能。我不想为五个多边形中的每一个运行它,还有其他方法吗?

private boolean is_in_polygon(int noOfPointsPolygon, double[] verticesX, double[] verticesY, LatLng location){

    int j;
    boolean c = false;
    int i;
      for (i = 0, j = noOfPointsPolygon-1 ; i < noOfPointsPolygon; j = i++) {
        if ( ((verticesX[i] > location.latitude != (verticesX[j] > location.latitude)) &&
        (location.longitude < (verticesX[j] - verticesX[i]) * (location.latitude - verticesY[i]) / (verticesY[j] - verticesY[i]) + verticesX[i]) ) ) 
            c = !c;
      }
      return c;

0 个答案:

没有答案