Hello,
this can be done quite easily with GeoDirectory when using custom post types for events and blog posts.
Here is an overview of the steps, with some links for details about the steps. In these instructions I will state the steps as if you are using the default Places CPT as the listing details page:
1. Create the new events and blog custom post type. Install events addon if you want it to have start and end dates that are searchable.
2. Add a “Link Posts: Place” field to each new CPT. Use this field to link and event or blog post to a place.
3. Visit the Settings for the Places CPT, then the tabs UI. Add the tab for Linked Posts Events or Blog Posts
https://wpgeodirectory.com/docs-v2/addons/events/
https://wpgeodirectory.com/docs-v2/addons/custom-post-types/
https://wpgeodirectory.com/docs-v2/places/tabs/