Como classificar pontos em um polígono do Google Maps para que as linhas não se cruzem?

Estou tentando fazer um mapa onde um usuário possa delinear qualquer forma que desejar. Mas estou com um problema em que os usuários podem selecionar pontos que farão as linhas do polígono se cruzarem e excluirem as áreas que eu gostaria de incluir.

Para ver do que estou falando, vá paraesta página e siga os seguintes passos:

clique em 4 pontos para fazer os 4 cantos de uma caixaclique entre cada um dos 4 pontos que você acabou de fazer para definir melhor o perímetro da caixaclique feito

Você deve ver algo assim:

texto alternativo http://polygon.abemiester.com/1.bmp

Existe uma maneira fácil de resolver esse problema ou estou basicamente lidando com uma situação do tipo "Vendedor ambulante" aqui? Toda a lógica é feita em javascript, portanto, fique à vontade para "visualizar o código-fonte" se você quiser ver como estou fazendo isso.

questionAnswers(3)

yourAnswerToTheQuestion