Hola:
Es un tema que he estudiado en varias ocasiones, incluso tengo una pequeña aplicación que contesta en parte tu pregunta:
http://www.pepemolina.com/mapas/index2.html Tiene algunos fallos que no tengo tiempo para depurar...
Un ejemplo aplicado lo puedes encontrar en esta otra página:
http://www.ensenat.net/poligonos.html?idioma=english
Saludos