minor refinements
wrap graphics contexts in braces
use MKMapSnapshotter instead of MKMapView for location items. close #529.