Делается все очень просто средствами API яндекс/гугл/других карт и mysql/postgresql...
Решение вашей задачи сможете найти на
clubs.ya.ru/mapsapi
Почитайте также про spatial data.
1. делаете редактор многоугольников
2. сохраняете координаты вашего многоугольника в базу в spacial data
3. делаете запросы на попадание точки в область
// mysql
SELECT * FROM TABLE WHERE CONTAINS(polygon, GeomFromText(:point)
:point'= POINT({$lat} {$lng})
4. чтобы вывести полигон обратно на карту, делаете примерно такой запрос
select AsText(`polygon`) AS polygon from table
и затем полученные координаты форматируете в удобоваримый вид для js