¿Cómo puedes encontrar el centroide de un polígono cóncavo irregular en JavaScript?

¿Cómo puedes encontrar el centroide de un polígono cóncavo irregular dados sus vértices en JavaScript?

uiero pasar un conjunto de puntos x, y a una función de JavaScript y recibir un punto x, y.

var my_points = [{x:3,y:1},{x:5,y:8},{x:2,y:9}];

function get_polygon_centroid(points){
    // answer
}

var my_centroid = get_polygon_centroid(my_points);

Losmy_pointsa variable @ solo se supone que representa el formato de los puntos a ser dados,no representa el recuento específico de puntos que se otorgarán.

Los centroid devuelto será un punto en algún lugar dentro del polígono.

El objetivo final sería agregar un marcador en el centroide de un polígono en una aplicación Google Maps V3.