
function contains(poly, point) { 
  var j=0;
  var oddNodes = false;
  var x = point.lng();
  var y = point.lat();
  for (var i=0; i < poly.getVertexCount(); i++) {
    j++;
    if (j == poly.getVertexCount()) {j = 0;}
    if (((poly.getVertex(i).lat() < y) && (poly.getVertex(j).lat() >= y))
    || ((poly.getVertex(j).lat() < y) && (poly.getVertex(i).lat() >= y))) {
      if ( poly.getVertex(i).lng() + (y - poly.getVertex(i).lat())
      /  (poly.getVertex(j).lat()-poly.getVertex(i).lat())
      *  (poly.getVertex(j).lng() - poly.getVertex(i).lng())<x ) {
        oddNodes = !oddNodes
      }
    }
  }
  return oddNodes;
}
