KML (Keyhole Markup Language) is an XML based file format used to display geographic data in an Earth browser such as Google Earth, Google Maps, and Google Maps for mobile.
With KML, you can display pretty much everything on a map. You can either email it to friends or you can upload it to Google Maps (Google My Maps feature) and share it with everyone.
But best of all, you can upload the file to an online host, and use the KMLs to be displayed on any of your custom maps (i.e on your blogs, websites, etc). This way, you can customize the maps' look & feel and its behaviour to suit your needs.
Check out my Demo Custom Map
There are several ways you can create KML files, but if you ask me, this is easiest.
Download and install Google Earth.
If you love codes, you might want to also check the KML primer first, but if you're anxious to start, then move on to the next step..
Step 1: Creating Placemarks
To create a Placemark, zoom in to the area where you want to place a placemark and click the Add Placemark button on the Google Earth toolbar (the yellow push pin icon).
Drag the placemark to the exact location where you want it to be. For the Description you can actually add HTML codes that will be displayed as callout ballon when the placemark is clicked. You can add pictures, YouTube videos, Flash files, Internet links and even bookmarks into your balloon. click image to enlarge.
The Style, Color tab allows you to change the color of the placemark icon. Most importantly is the Altitude tab. Be sure to set it to Relative to ground as shown in the image. This will enable the KML file that you will later create to be able to be viewed on Google Maps.