How to dynamically highlight cricket stadiums on a map and display nearby attractions using JavaScript?

I am building a website that features the top cricket grounds in India along with nearby tourist attractions and hotels. I want to create an interactive map where:

Users can see the locations of the cricket stadiums marked.
Clicking on a stadium displays nearby attractions and accommodations in a side panel.
I am using HTML, CSS, and JavaScript for this project. Could someone guide me on:

The best way to integrate a map (e.g., Google Maps API, Leaflet.js)?
How to dynamically load and display information when a stadium is clicked?
Any code snippets, tutorials, or examples would be greatly appreciated. Thank you!

What I am trying:
I am developing a website to showcase India’s top cricket stadiums, nearby attractions, and accommodations. I want to use a map to:

Display markers for all cricket stadiums.
Show a list of nearby tourist spots and hotels when a stadium marker is clicked.
Currently, I am using [mention any library or framework you’re experimenting with, e.g., Google Maps API or Leaflet.js]. I’ve managed to:

Embed a map and place static markers for the stadiums.
However, I’m stuck on dynamically updating the nearby attractions and accommodations when clicking on a marker. My dataset is in JSON format, and I’m not sure how to integrate it with the map.

What I am expecting:
I would like to achieve the following:

When a user clicks a stadium marker, a side panel or popup should display information about nearby attractions and hotels, fetched dynamically from my JSON dataset.
Smooth transitions or animations between marker clicks and panel updates.
Suggestions for improving performance if I am dealing with multiple markers and datasets.
An example implementation or any step-by-step guidance would be really helpful.