You have at least 3 requirements
- A list of UK postcodes with coordinates.
- Drawing polygon on Map.
- Locating postcodes within polygon.
Google for #1 (uk postcode coordinates free). Store data required in database
Use Google Shape library for #2
For # 3 you
Use the following query to eliminate the majority of postcode outside polygon.(Server side)
SELECT name, lat, lng FROM table WHERE (lat BETWEEN minLat
AND minLat )AND (lng BETWEEN minLng AND minLng)
to
Then use point in polygon to eliminate points outside polygon (client side)
function pointInPolygon(polySides,polyX,polyY,x,y) {
var j = polySides-1 ;
oddNodes = 0;
for (i=0; i<polySides; i++) {
if (polyY[i]<y && polyY[j]>=y || polyY[j]<y && polyY[i]>=y) {
if (polyX[i]+(y-polyY[i])/(polyY[j]-polyY[i])*(polyX[j]-polyX[i])<x) {
oddNodes=!oddNodes;
}
}
j=i; }
return oddNodes;
}
This Link shows #2 & #3