google map markers multiple

Add multiple markers in google map by address in minimum time.

by such gavas

HTML

<script src="https://cdn.rawgit.com/suchg/google.map_markers_multi/master/inputfile.json"></script>
<script src="https://cdn.rawgit.com/suchg/google.map_markers_multi/master/jquery.ajaxQueue.js"></script>
<script src="https://cdn.rawgit.com/suchg/google.map_markers_multi/master/inputfile.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAXHgKWGY3dXRKUqVL9_cAFPRhidM-nTNM"></script>
<div>
  <span>Added markers count</span>:<span id="totalAddedMarker"></span>
</div>
<div id="map_canvas"></div>

CSS

#map_canvas {
		width: 600px;
		height: 300px;
	}

JavaScript

//function to get random element from an array
	(function($) {
		$.rand = function(arg) {
			if ($.isArray(arg)) {
				return arg[$.rand(arg.length)];
			} else if (typeof arg === "number") {
				return Math.floor(Math.random() * arg);
			} else {
				return 4;  // chosen by fair dice roll
			}
		};
	})(jQuery);
	
//start code on document ready
$(document).ready(function () {
    var map;
    var elevator;
    var myOptions = {
        zoom: 0,
        center: new google.maps.LatLng(35.392738, -100.019531), 
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map($('#map_canvas')[0], myOptions);

	//get place from inputfile.js
	var placesObject = place;
	errorArray = [];
  
  //will fire 20 ajax request at a time and other will keep in queue
	var queuCounter = 0, setLimit = 20; 
	
  //keep count of added markers and update at top
  totalAddedMarkers = 0;
  
  //make an array of geocode keys to avoid the overlimit error
	var geoCodKeys = [
					'AIzaSyCF82XXUtT0vzMTcEPpTXvKQPr1keMNr_4',
					'AIzaSyAYPw6oFHktAMhQqp34PptnkDEdmXwC3s0',
					'AIzaSyAwd0OLvubYtKkEWwMe4Fe0DQpauX0pzlk',
					'AIzaSyDF3F09RkYcibDuTFaINrWFBOG7ilCsVL0',
					'AIzaSyC1dyD2kzPmZPmM4-oGYnIH_0x--0hVSY8'					
				];
	
  //funciton to add marker
	var addMarkers = function(address, queKey){
		var key = jQuery.rand(geoCodKeys);
		var url = 'https://maps.googleapis.com/maps/api/geocode/json?key='+key+'&address='+address+'&sensor=false';
		
		var qyName = '';
		if( queKey ) {
			qyName = queKey;
		} else {
			qyName = 'MyQueue'+queuCounter;
		}
		
		$.ajaxq (qyName, {
			url: url,
			dataType: 'json'
		}).done(function( data ) {
					var address = getParameterByName('address', this.url);
					var index = errorArray.indexOf(address);
					try{
						var p = data.results[0].geometry.location;
						var latlng = new google.maps.LatLng(p.lat, p.lng);
						new google.maps.Marker({
							position: latlng,
							map: map
						});
						totalAddedMarkers ++;
						
        ...