Geo – Path
Once you have GeoLocations, you can then make shapes for them. So we create a GeoShape Interface that allows us to define our shape.
We implement a forEach() method to be able to act on each location in the shape, and a getGeoPath() to return us the order of the GeoLocations to make the shape. We will create GeoPath that will represent a collection of GeoLocations that will be used in many of our shapes.