If i were you i would do this:
Create an image with the land parts in white and the other parts in blue. Then use the bitmap to test if the point is in land or whater (using integers so maybe you’ll have to round).
private var _map:BitmapData;
private function isLand(x:int = 0, y:int = 0):Boolean
{
return _map.getPixel(x, y) == 0xFFFFFF;
}
private function getLandPoint():Point
{
var point:Point = new Point;
do
{
point.x = Math.random * _map.width;
point.y = Math.random * _map.height;
} while (!isLand(Math.floor(point.x), Math.floor(point.y)));
return point;
}
Obviously you have to load the image to that bitmap once.
I hope it helps