>>1
Use color keys, i.e. what
>>4 said.
Oh, wait. You said Java?
Well then, you want to define a class hierarchy for geometric information, like (all classes):
Geometry (abstract)
Geometry2D (abstract)
GeometricShapes (abstract)
Polygon (holds a list of Axis)
Triangle (for convenience)
Square (for convenience)
RegularPolygon
RegularTriangle (for convenience)
Geometry2DTypes (abstract)
Point
Axis (aggregates 2 Point)
Well, this was actually a stub. The final implementation will most surely implement more classes, as well as a few interfaces to describe geometry.
Then you define methods for creating these shapes, associate them to objects describing your provinces (again, under a class hierarchy to model universes, galaxies, solar systems, planets, continents, countries, states, autonomous communities, provinces, counties, towns, neighbourhoods, residential and other types of areas and parcels), and find whether a point you recover from mouse information, casted or recreated as a geometric point and contemplating a certain offset (which you may model as inherited properties in the geometry class hierarchy somehow) will belong to an area.
That would be appropriate for a Java job.