dist/assets/js/plugins/storeLocator/jquery.storelocator.js
function (point, name, address, letter, map, category) {
			this.writeDebug('createMarker',arguments);
			var marker, markerImg, letterMarkerImg;
			var categories = [];

			// Custom multi-marker image override (different markers for different categories
			if (this.settings.catMarkers !== null) {
				if (typeof category !== 'undefined') {
					// Multiple categories
					if (category.indexOf(',') !== -1) {
						// Break the category variable into an array if there are multiple categories for the location
						categories = category.split(',');
						// With multiple categories the color will be determined by the last matched category in the data
						for(var i = 0; i < categories.length; i++) {
							if (categories[i] in this.settings.catMarkers) {
								markerImg = this.markerImage(this.settings.catMarkers[categories[i]][0], parseInt(this.settings.catMarkers[categories[i]][1]), parseInt(this.settings.catMarkers[categories[i]][2]));
							}
						}
					}
					// Single category
					else {
						if (category in this.settings.catMarkers) {
							markerImg = this.markerImage(this.settings.catMarkers[category][0], parseInt(this.settings.catMarkers[category][1]), parseInt(this.settings.catMarkers[category][2]));
						}
					}
				}
			}

			// Custom single marker image override
			if (this.settings.markerImg !== null) {
				if (this.settings.markerDim === null) {
					markerImg = this.markerImage(this.settings.markerImg);
				}
				else {
					markerImg = this.markerImage(this.settings.markerImg, this.settings.markerDim.width, this.settings.markerDim.height);
				}
			}

			// Marker setup
			if (this.settings.callbackCreateMarker) {
				// Marker override callback
				marker = this.settings.callbackCreateMarker.call(this, map, point, letter, category);
			}
			else {
				// Create the default markers
				if (this.settings.disableAlphaMarkers === true || this.settings.storeLimit === -1 || this.settings.storeLimit > 26 || this.settings.catMarkers !== null || this.settings.markerImg !== null || (this.settings.fullMapStart === true && firstRun === true && (isNaN(this.settings.fullMapStartListLimit) || this.settings.fullMapStartListLimit > 26 || this.settings.fullMapStartListLimit === -1))) {
					marker = new google.maps.Marker({
						position : point,
						map      : map,
						draggable: false,
						icon: markerImg // Reverts to default marker if nothing is passed
					});
				}
				else {
					// Letter markers image
					letterMarkerImg = {
						url: 'https://mt.googleapis.com/vt/icon/name=icons/spotlight/spotlight-waypoint-b.png&text=' + letter + '&psize=16&font=fonts/Roboto-Regular.ttf&color=ff333333&ax=44&ay=48'
					};

					// Letter markers
					marker = new google.maps.Marker({
						position : point,
						map      : map,
						icon     : letterMarkerImg,
						draggable: false
					});
				}
			}

			return marker;
		}
function (point, name, address, letter, map, category) {
			this.writeDebug('createMarker',arguments);
			var marker, markerImg, letterMarkerImg;
			var categories = [];

			// Custom multi-marker image override (different markers for different categories
			if (this.settings.catMarkers !== null) {
				if (typeof category !== 'undefined') {
					// Multiple categories
					if (category.indexOf(',') !== -1) {
						// Break the category variable into an array if there are multiple categories for the location
						categories = category.split(',');
						// With multiple categories the color will be determined by the last matched category in the data
						for(var i = 0; i < categories.length; i++) {
							if (categories[i] in this.settings.catMarkers) {
								markerImg = this.markerImage(this.settings.catMarkers[categories[i]][0], parseInt(this.settings.catMarkers[categories[i]][1]), parseInt(this.settings.catMarkers[categories[i]][2]));
							}
						}
					}
					// Single category
					else {
						if (category in this.settings.catMarkers) {
							markerImg = this.markerImage(this.settings.catMarkers[category][0], parseInt(this.settings.catMarkers[category][1]), parseInt(this.settings.catMarkers[category][2]));
						}
					}
				}
			}

			// Custom single marker image override
			if (this.settings.markerImg !== null) {
				if (this.settings.markerDim === null) {
					markerImg = this.markerImage(this.settings.markerImg);
				}
				else {
					markerImg = this.markerImage(this.settings.markerImg, this.settings.markerDim.width, this.settings.markerDim.height);
				}
			}

			// Marker setup
			if (this.settings.callbackCreateMarker) {
				// Marker override callback
				marker = this.settings.callbackCreateMarker.call(this, map, point, letter, category);
			}
			else {
				// Create the default markers
				if (this.settings.disableAlphaMarkers === true || this.settings.storeLimit === -1 || this.settings.storeLimit > 26 || this.settings.catMarkers !== null || this.settings.markerImg !== null || (this.settings.fullMapStart === true && firstRun === true && (isNaN(this.settings.fullMapStartListLimit) || this.settings.fullMapStartListLimit > 26 || this.settings.fullMapStartListLimit === -1))) {
					marker = new google.maps.Marker({
						position : point,
						map      : map,
						draggable: false,
						icon: markerImg // Reverts to default marker if nothing is passed
					});
				}
				else {
					// Letter markers image
					letterMarkerImg = {
						url: 'https://mt.googleapis.com/vt/icon/name=icons/spotlight/spotlight-waypoint-b.png&text=' + letter + '&psize=16&font=fonts/Roboto-Regular.ttf&color=ff333333&ax=44&ay=48'
					};

					// Letter markers
					marker = new google.maps.Marker({
						position : point,
						map      : map,
						icon     : letterMarkerImg,
						draggable: false
					});
				}
			}

			return marker;
		}
function ( point , name , address , letter , map , category ) { this . writeDebug ( 'createMarker' , arguments ) ; var marker , markerImg , letterMarkerImg ; var categories = [ ] ; // Custom multi-marker image override (different markers for different categories if ( this . settings . catMarkers !== null ) { if ( typeof category !== 'undefined' ) { // Multiple categories if ( category . indexOf ( ',' ) !== - 1 ) { // Break the category variable into an array if there are multiple categories for the location categories = category . split ( ',' ) ; // With multiple categories the color will be determined by the last matched category in the data for ( var i = 0 ; i < categories . length ; i ++ ) { if ( categories [ i ] in this . settings . catMarkers ) { markerImg = this . markerImage ( this . settings . catMarkers [ categories [ i ] ] [ 0 ] , parseInt ( this . settings . catMarkers [ categories [ i ] ] [ 1 ] ) , parseInt ( this . settings . catMarkers [ categories [ i ] ] [ 2 ] ) ) ; } } } // Single category else { if ( category in this . settings . catMarkers ) { markerImg = this . markerImage ( this . settings . catMarkers [ category ] [ 0 ] , parseInt ( this . settings . catMarkers [ category ] [ 1 ] ) , parseInt ( this . settings . catMarkers [ category ] [ 2 ] ) ) ; } } } } // Custom single marker image override if ( this . settings . markerImg !== null ) { if ( this . settings . markerDim === null ) { markerImg = this . markerImage ( this . settings . markerImg ) ; } else { markerImg = this . markerImage ( this . settings . markerImg , this . settings . markerDim . width , this . settings . markerDim . height ) ; } } // Marker setup if ( this . settings . callbackCreateMarker ) { // Marker override callback marker = this . settings . callbackCreateMarker . call ( this , map , point , letter , category ) ; } else { // Create the default markers if ( this . settings . disableAlphaMarkers === true || this . settings . storeLimit === - 1 || this . settings . storeLimit > 26 || this . settings . catMarkers !== null || this . settings . markerImg !== null || ( this . settings . fullMapStart === true && firstRun === true && ( isNaN ( this . settings . fullMapStartListLimit ) || this . settings . fullMapStartListLimit > 26 || this . settings . fullMapStartListLimit === - 1 ) ) ) { marker = new google . maps . Marker ( { position : point , map : map , draggable : false , icon : markerImg // Reverts to default marker if nothing is passed } ) ; } else { // Letter markers image letterMarkerImg = { url : 'https://mt.googleapis.com/vt/icon/name=icons/spotlight/spotlight-waypoint-b.png&text=' + letter + '&psize=16&font=fonts/Roboto-Regular.ttf&color=ff333333&ax=44&ay=48' } ; // Letter markers marker = new google . maps . Marker ( { position : point , map : map , icon : letterMarkerImg , draggable : false } ) ; } } return marker ; }
Map marker setup

@param point {Object} LatLng of current location
@param name {string} location name
@param address {string} location address
@param letter {string} optional letter used for front-end identification and correlation between list and points
@param map {Object} the Google Map
@param category {string} location category/categories
@returns {Object} Google Maps marker
Map marker setup