I dont understand the business ask for drawing a map to show potential customers, then placing them randomly on the map. Why not just give rough volume numbers or something instead? It seems at least misleading.
A better approach might be to use block-level census data to give you a probability density function to where you should plot your random made-up fake 'potential customer' icons. Less risk that when a roadside truckstop in alaska brings up your site you wind up making the misleading claim that you can find them fifty customers within walking distance...
Where I live, the nearest school, store, and park are ~ 4 miles away. (I know this because of a real estate site.) The second nearest are ~ 6 miles. It takes 2.5 hours to get to the closest ones, but 15 minutes to get to the second closest ones.
The difference, one of them is across a body of water that has no ferry or bridge, and to get there you have to go the long way around. And it's a long enough trip that I've never been there in 7 years of living here, despite seeing it every non-foggy day.
There are many resources [1][2][3] for geographic data. Learning how to use tools like PostGIS [4], gdal [5], and d3 [6] are well worth the effort.
Hacks like this are great when there is no other way around it, but I can't help but imagine that it would have been a much easier problem to solve using some of these existing data sets and tools.
When given the option to attempt a novel hack like the original poster's keep in mind that the skills learned while solving the problem with existing tools and workflows will be very valuable the next time you need to do any GIS related work!
[1] http://nationalatlas.gov/mld/hydrogm.html [2] http://www.census.gov/cgi-bin/geo/shapefiles2012/main [3] http://factfinder2.census.gov/faces/nav/jsf/pages/searchresu... [4] http://postgis.net [5] http://www.gdal.org [6] http://bost.ocks.org/mike/map/
Here's how I would hack this: whenever you place an icon, draw a slighty larger circular 'lake' on top of that hidden canvas. That added lake prevents you from placing another icon in the neighborhood of that icon.
EDIT: And when running the jsfiddle demo, it looks like Google isn't sending any CORS headers from the given map image, breaking the demo entirely:
http://maps.googleapis.com/maps/api/staticmap?scale=2¢er...