Pam, I've done this with a service google provides and instead of providing a simple dot I use this url and modify a few parameters:
Character inside the pin (I've bolded the parameter that needs to change)
http://chart.apis.google.com/chart?cht=d&chdp=mapsapi&chl=pin%27i%5c%27%5b
1%27-2%27f%5chv%27a%5c%5dh%5c%5do%5cE1373E%27fC%5cFFFFFF%27tC%5cEFE5CD%27eC%5cLauto%27f%5c&ext=.png
http://chart.apis.google.com/chart?cht=d&chdp=mapsapi&chl=pin%27i%5c%27%5b
A%27-2%27f%5chv%27a%5c%5dh%5c%5do%5cE1373E%27fC%5cFFFFFF%27tC%5cEFE5CD%27eC%5cLauto%27f%5c&ext=.png
Pin colors (again, bolded the characters that need to change)
If you examine the URL, there are 3 hex colors at the end of it.
Inside: http://chart.apis.google.com/chart?cht=d&chdp=mapsapi&chl=pin%27i%5c%27%5bA%27-2%27f%5chv%27a%5c%5dh%5c%5do%5c
00ff00%27fC%5cFFFFFF%27tC%5cE1373E%27eC%5cLauto%27f%5c&ext=.png
Character:http://chart.apis.google.com/chart?cht=d&chdp=mapsapi&chl=pin%27i%5c%27%5bA%27-2%27f%5chv%27a%5c%5dh%5c%5do%5cE1373E%27fC%5c
00ff00%27tC%5cE1373E%27eC%5cLauto%27f%5c&ext=.png
Border:http://chart.apis.google.com/chart?cht=d&chdp=mapsapi&chl=pin%27i%5c%27%5bA%27-2%27f%5chv%27a%5c%5dh%5c%5do%5cE1373E%27fC%5cffffff%27tC%5c
00ff00%27eC%5cLauto%27f%5c&ext=.png
You can also define the extension by simply changing the .png to .jpg or .gif, etc. There are other parameters within it but I haven't looked any further.
So you asked how you get them on the map. Well what needs to happen is the URL needs to be in a field that is in the datasource you are populating the map with. So what I've done in the past is create a custom query within SQL Server Management Studio that dynamically creates this URL for you. Here is an example that gets the row index of selected :
SELECT CAST(ROW_NUMBER() OVER (ORDER BY EventStartDate) AS VARCHAR(3)) AS ColumnIndex, * FROM CONTENT_Event WHERE EventStartDate > '5/15/2013'
Then add the query to the document type you need to display the map points for and use a query datasource web part to retrieve that query. Then attach the query datasource to the
basic google maps web part by using the query datasource ID. In the basic google maps web part set the Image property value to the ColumnIndex field we aliased in the SQL query. And that should be it, save your web parts and see how they display.
Sorry for the lengthy post but I'm hoping it helps, as I spent close to 3 days trying to find a good solution for this.