1

編集可能なポリゴンの動きを制限しようとしています。内側のパスが外側のパスの外側に引っ張られるのを防ぎたい。Google マップの google.maps.geometry.poly.containsLocation 関数を使用して、新しいポイントが外側の境界内にあるかどうかを確認していますが、外側にある場合にアクションが発生しないようにする方法が見つかりません。

false を返そうとしましたが、ポリゴンはまだ新しい場所に移動します

google.maps.event.addListener(poly.getPaths().getArray()[1], 'set_at', function() {
  return keepInside(this, arguments[0], arguments[1]);
});

function keepInside(polygon, index, new_point)
{
    outer_edge = new google.maps.Polygon({
      paths: polygon.getArray(),
    });
    is_in = google.maps.geometry.poly.containsLocation(new_point,outer_edge);
    if(!is_in)
    {
        return false;
    }
    return true;
}
4

1 に答える 1