Google MapsポリラインがGoogle Mapsポリゴンを通過するかどうかをテストしようとしています。シンプルに聞こえる。しかし、私は検索して検索しました...本当の答えは見つかりませんでした。このポリラインはこのポリゴンを通過しますか?
私はこの機能をもっていました。それはうまくいきますが、時折偽陽性を返します。私は(バック年生12微積分に私をもたらしcrazy math idea)全く新しい方法を試す前に
//nvert = the number of points in the polygon
//vertx = an array of all the polygon's latitudes
//verty = an array of all the polygon's longitudes
//elat = the current point's latitude
//elng = the current point's longitude
function pnpoly(nvert, vertx, verty, elat, elng) {
var i, j, c = false;
for(i = 0, j = nvert-1; i < nvert; j = i++) {
if(((verty[i] > elng) != (verty[j] > elng)) &&
(elat < (vertx[j] - vertx[i]) * (elng - verty[i])/(verty[j] - verty[i]) + vertx[i])) {
c = !c;
}
}
return c;
}
は、私は誰を思ったんだけど、これを達成する方法を知っています。
私の問題は、最後のポイントと最初のポイントを合わせて、この関数の行のすべてのポイントを渡していたと思います。これは、偽陽性を返す閉じたポリゴンを作成します。 – podcastfan88