Updating the JournalEntry class to conform to the MKAnnotation protocol
When you use the Maps app on iPhone, you can tap and hold on the map to drop a pin:

Figure 17.13: Maps app showing a dropped pin
To add a pin to a map view for your own apps, you need a class that conforms to the MKAnnotation protocol. This protocol allows you to associate an instance of that class with a specific location.
To learn more about the MKAnnotation protocol, see https://developer.apple.com/documentation/mapkit/mkannotation.
Any class can adopt the MKAnnotation protocol by implementing a coordinate property, which contains a location. Optional MKAnnotation protocol properties are title, a string containing the annotation’s title, and subtitle, a string containing the annotation’s subtitle.
When an instance of a class conforming to the MKAnnotation protocol is in the region of the map that is visible onscreen, the map view asks its delegate (usually...