This should be possible out of the box. CiviCRM has mapping capabilities documented here https://docs.civicrm.org/user/en/latest/initial-set-up/mapping/
There is an extension using open source v google mapping if you want: https://github.com/eileenmcnaughton/org.wikimedia.geocoder
Once you have your mapping working, then you should be able to do a Search and use the Action 'Map Contacts' (or something similar)
For Drupal you can also use Views and Leaflet which may give you more options
Hope above helps
And as Demerit mentions (just to try and get all the good bits in one answer) - Go to Search - Custom Search - Proximity Search, then from the results action dropdown choose map contacts