// Create a JSON2 object only if one does not already exist. We create the // methods in a closure to avoid creating global variables. var JSON2; if (!JSON2) { JSON2 = {}; } (function () { "use strict"; function f(n) { // Format integers to have at least two digits. return n < 10 ? '0' + n : n; } if (typeof Date.prototype.toJSON2 !== 'function') { Date.prototype.toJSON2 = function (key) { return isFinite(this.valueOf()) ? this.getUTCFullYear() + '-' + f(this.getUTCMonth() + 1) + '-' + f(this.getUTCDate()) + 'T' + f(this.getUTCHours()) + ':' + f(this.getUTCMinutes()) + ':' + f(this.getUTCSeconds()) + 'Z' : null; }; String.prototype.toJSON2 = Number.prototype.toJSON2 = Boolean.prototype.toJSON2 = function (key) { return this.valueOf(); }; } var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, gap, indent, meta = { // table of character substitutions '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"' : '\\"', '\\': '\\\\' }, rep; function quote(string) { // If the string contains no control characters, no quote characters, and no // backslash characters, then we can safely slap some quotes around it. // Otherwise we must also replace the offending characters with safe escape // sequences. escapable.lastIndex = 0; return escapable.test(string) ? '"' + string.replace(escapable, function (a) { var c = meta[a]; return typeof c === 'string' ? c : '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); }) + '"' : '"' + string + '"'; } function str(key, holder) { // Produce a string from holder[key]. var i, // The loop counter. k, // The member key. v, // The member value. length, mind = gap, partial, value = holder[key]; // If the value has a toJSON2 method, call it to obtain a replacement value. if (value && typeof value === 'object' && typeof value.toJSON2 === 'function') { value = value.toJSON2(key); } // If we were called with a replacer function, then call the replacer to // obtain a replacement value. if (typeof rep === 'function') { value = rep.call(holder, key, value); } // What happens next depends on the value's type. switch (typeof value) { case 'string': return quote(value); case 'number': // JSON2 numbers must be finite. Encode non-finite numbers as null. return isFinite(value) ? String(value) : 'null'; case 'boolean': case 'null': // If the value is a boolean or null, convert it to a string. Note: // typeof null does not produce 'null'. The case is included here in // the remote chance that this gets fixed someday. return String(value); // If the type is 'object', we might be dealing with an object or an array or // null. case 'object': // Due to a specification blunder in ECMAScript, typeof null is 'object', // so watch out for that case. if (!value) { return 'null'; } // Make an array to hold the partial results of stringifying this object value. gap += indent; partial = []; // Is the value an array? if (Object.prototype.toString.apply(value) === '[object Array]') { // The value is an array. Stringify every element. Use null as a placeholder // for non-JSON2 values. length = value.length; for (i = 0; i < length; i += 1) { partial[i] = str(i, value) || 'null'; } // Join all of the elements together, separated with commas, and wrap them in // brackets. v = partial.length === 0 ? '[]' : gap ? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']' : '[' + partial.join(',') + ']'; gap = mind; return v; } // If the replacer is an array, use it to select the members to be stringified. if (rep && typeof rep === 'object') { length = rep.length; for (i = 0; i < length; i += 1) { k = rep[i]; if (typeof k === 'string') { v = str(k, value); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); } } } } else { // Otherwise, iterate through all of the keys in the object. for (k in value) { if (Object.hasOwnProperty.call(value, k)) { v = str(k, value); if (v) { partial.push(quote(k) + (gap ? ': ' : ':') + v); } } } } // Join all of the member texts together, separated with commas, // and wrap them in braces. v = partial.length === 0 ? '{}' : gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}' : '{' + partial.join(',') + '}'; gap = mind; return v; } } // If the JSON2 object does not yet have a stringify method, give it one. if (typeof JSON2.stringify !== 'function') { JSON2.stringify = function (value, replacer, space) { // The stringify method takes a value and an optional replacer, and an optional // space parameter, and returns a JSON2 text. The replacer can be a function // that can replace values, or an array of strings that will select the keys. // A default replacer method can be provided. Use of the space parameter can // produce text that is more easily readable. var i; gap = ''; indent = ''; // If the space parameter is a number, make an indent string containing that // many spaces. if (typeof space === 'number') { for (i = 0; i < space; i += 1) { indent += ' '; } // If the space parameter is a string, it will be used as the indent string. } else if (typeof space === 'string') { indent = space; } // If there is a replacer, it must be a function or an array. // Otherwise, throw an error. rep = replacer; if (replacer && typeof replacer !== 'function' && (typeof replacer !== 'object' || typeof replacer.length !== 'number')) { throw new Error('JSON2.stringify'); } // Make a fake root object containing our value under the key of ''. // Return the result of stringifying the value. return str('', {'': value}); }; } // If the JSON2 object does not yet have a parse method, give it one. if (typeof JSON2.parse !== 'function') { JSON2.parse = function (text, reviver) { // The parse method takes a text and an optional reviver function, and returns // a JavaScript value if the text is a valid JSON2 text. var j; function walk(holder, key) { // The walk method is used to recursively walk the resulting structure so // that modifications can be made. var k, v, value = holder[key]; if (value && typeof value === 'object') { for (k in value) { if (Object.hasOwnProperty.call(value, k)) { v = walk(value, k); if (v !== undefined) { value[k] = v; } else { delete value[k]; } } } } return reviver.call(holder, key, value); } // Parsing happens in four stages. In the first stage, we replace certain // Unicode characters with escape sequences. JavaScript handles many characters // incorrectly, either silently deleting them, or treating them as line endings. text = String(text); cx.lastIndex = 0; if (cx.test(text)) { text = text.replace(cx, function (a) { return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); }); } // In the second stage, we run the text against regular expressions that look // for non-JSON2 patterns. We are especially concerned with '()' and 'new' // because they can cause invocation, and '=' because it can cause mutation. // But just to be safe, we want to reject all unexpected forms. // We split the second stage into 4 regexp operations in order to work around // crippling inefficiencies in IE's and Safari's regexp engines. First we // replace the JSON2 backslash pairs with '@' (a non-JSON2 character). Second, we // replace all simple value tokens with ']' characters. Third, we delete all // open brackets that follow a colon or comma or that begin the text. Finally, // we look to see that the remaining characters are only whitespace or ']' or // ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval. if (/^[\],:{}\s]*$/ .test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@') .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') .replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { // In the third stage we use the eval function to compile the text into a // JavaScript structure. The '{' operator is subject to a syntactic ambiguity // in JavaScript: it can begin a block or an object literal. We wrap the text // in parens to eliminate the ambiguity. j = eval('(' + text + ')'); // In the optional fourth stage, we recursively walk the new structure, passing // each name/value pair to a reviver function for possible transformation. return typeof reviver === 'function' ? walk({'': j}, '') : j; } // If the text is not JSON2 parseable, then a SyntaxError is thrown. throw new SyntaxError('JSON2.parse'); }; } }()); //add contains function in Array Array.prototype.contains = function(obj) { var i = this.length; while (i--) { if (this[i] === obj) { return true; } } return false; } Array.prototype.max = function() { var max = parseFloat(this[0]); var len = this.length; for (var i = 1; i < len; i++) if (parseFloat(this[i]) > max) max = parseFloat(this[i]); return max; } Array.prototype.min = function() { var min = parseFloat(this[0]); var len = this.length; for (var i = 1; i < len; i++) if (parseFloat(this[i]) < min) min = parseFloat(this[i]); return min; } window.net=window.net||{}; net.imapbuilder=net.imapbuilder||{}; net.imapbuilder.gmap=net.imapbuilder.gmap||{}; var map; var markers=[]; var labels=[]; var images=[]; var polylines=[]; var polygons=[]; var rectangles=[]; var circles=[]; var routes=[]; var current_route = 0; var route_count = 0 ; var map_geocoder; var markerCluster; var crowdMarkers=[]; var crowdMarkersId=0; var crowdMarkersData = [] ; //information box var gmap_locationdetails; var modal_div; var crowdForm_div; var markerID; var tempMarker; var tempMarkerAni; var crowdGetLocation_div; var errorMessage_div; var infoZIndex = 0 ; var heatMapArr = []; var heatMapCon_colorRatio; var cluster_infowindow ; var cs_title = "Add a Location" ; var cs_loginas = "Login as" ; var cs_address = "Address" ; var cs_desc = "Description" ; var cs_data = "Crowdsourced data"; var clickCircle; (function(){ var g=net.imapbuilder.gmap; // shorten the code of the namespace object // icon list g.iconlist=[]; g.iconlist[1]={}; g.iconlist[1].imagew="32"; g.iconlist[1].imageh="32"; g.iconlist[1].imageox="0"; g.iconlist[1].imageoy="0"; g.iconlist[1].imageax="16"; g.iconlist[1].imageay="32"; g.iconlist[2]={}; g.iconlist[2].imagew="32"; g.iconlist[2].imageh="32"; g.iconlist[2].imageox="0"; g.iconlist[2].imageoy="0"; g.iconlist[2].imageax="16"; g.iconlist[2].imageay="32"; g.iconlist[3]={}; g.iconlist[3].imagew="32"; g.iconlist[3].imageh="32"; g.iconlist[3].imageox="0"; g.iconlist[3].imageoy="0"; g.iconlist[3].imageax="16"; g.iconlist[3].imageay="32"; g.iconlist[4]={}; g.iconlist[4].imagew="32"; g.iconlist[4].imageh="32"; g.iconlist[4].imageox="0"; g.iconlist[4].imageoy="0"; g.iconlist[4].imageax="16"; g.iconlist[4].imageay="32"; g.iconlist[5]={}; g.iconlist[5].imagew="32"; g.iconlist[5].imageh="32"; g.iconlist[5].imageox="0"; g.iconlist[5].imageoy="0"; g.iconlist[5].imageax="16"; g.iconlist[5].imageay="32"; g.iconlist[6]={}; g.iconlist[6].imagew="32"; g.iconlist[6].imageh="32"; g.iconlist[6].imageox="0"; g.iconlist[6].imageoy="0"; g.iconlist[6].imageax="16"; g.iconlist[6].imageay="32"; g.iconlist[7]={}; g.iconlist[7].imagew="32"; g.iconlist[7].imageh="32"; g.iconlist[7].imageox="0"; g.iconlist[7].imageoy="0"; g.iconlist[7].imageax="16"; g.iconlist[7].imageay="32"; g.iconlist[8]={}; g.iconlist[8].imagew="32"; g.iconlist[8].imageh="32"; g.iconlist[8].imageox="0"; g.iconlist[8].imageoy="0"; g.iconlist[8].imageax="16"; g.iconlist[8].imageay="32"; g.iconlist[9]={}; g.iconlist[9].imagew="32"; g.iconlist[9].imageh="32"; g.iconlist[9].imageox="0"; g.iconlist[9].imageoy="0"; g.iconlist[9].imageax="16"; g.iconlist[9].imageay="32"; g.iconlist[10]={}; g.iconlist[10].imagew="32"; g.iconlist[10].imageh="32"; g.iconlist[10].imageox="0"; g.iconlist[10].imageoy="0"; g.iconlist[10].imageax="16"; g.iconlist[10].imageay="32"; g.iconlist[11]={}; g.iconlist[11].imagew="32"; g.iconlist[11].imageh="32"; g.iconlist[11].imageox="0"; g.iconlist[11].imageoy="0"; g.iconlist[11].imageax="16"; g.iconlist[11].imageay="32"; g.iconlist[12]={}; g.iconlist[12].imagew="32"; g.iconlist[12].imageh="32"; g.iconlist[12].imageox="0"; g.iconlist[12].imageoy="0"; g.iconlist[12].imageax="16"; g.iconlist[12].imageay="32"; g.iconlist[13]={}; g.iconlist[13].imagew="32"; g.iconlist[13].imageh="32"; g.iconlist[13].imageox="0"; g.iconlist[13].imageoy="0"; g.iconlist[13].imageax="16"; g.iconlist[13].imageay="32"; g.iconlist[14]={}; g.iconlist[14].imagew="32"; g.iconlist[14].imageh="32"; g.iconlist[14].imageox="0"; g.iconlist[14].imageoy="0"; g.iconlist[14].imageax="16"; g.iconlist[14].imageay="32"; g.iconlist[15]={}; g.iconlist[15].imagew="32"; g.iconlist[15].imageh="32"; g.iconlist[15].imageox="0"; g.iconlist[15].imageoy="0"; g.iconlist[15].imageax="11"; g.iconlist[15].imageay="32"; g.iconlist[16]={}; g.iconlist[16].imagew="32"; g.iconlist[16].imageh="32"; g.iconlist[16].imageox="0"; g.iconlist[16].imageoy="0"; g.iconlist[16].imageax="11"; g.iconlist[16].imageay="32"; g.iconlist[17]={}; g.iconlist[17].imagew="32"; g.iconlist[17].imageh="32"; g.iconlist[17].imageox="0"; g.iconlist[17].imageoy="0"; g.iconlist[17].imageax="11"; g.iconlist[17].imageay="32"; g.iconlist[18]={}; g.iconlist[18].imagew="32"; g.iconlist[18].imageh="32"; g.iconlist[18].imageox="0"; g.iconlist[18].imageoy="0"; g.iconlist[18].imageax="11"; g.iconlist[18].imageay="32"; g.iconlist[19]={}; g.iconlist[19].imagew="32"; g.iconlist[19].imageh="32"; g.iconlist[19].imageox="0"; g.iconlist[19].imageoy="0"; g.iconlist[19].imageax="11"; g.iconlist[19].imageay="32"; g.iconlist[20]={}; g.iconlist[20].imagew="32"; g.iconlist[20].imageh="32"; g.iconlist[20].imageox="0"; g.iconlist[20].imageoy="0"; g.iconlist[20].imageax="11"; g.iconlist[20].imageay="32"; g.iconlist[21]={}; g.iconlist[21].imagew="32"; g.iconlist[21].imageh="32"; g.iconlist[21].imageox="0"; g.iconlist[21].imageoy="0"; g.iconlist[21].imageax="11"; g.iconlist[21].imageay="32"; g.iconlist[22]={}; g.iconlist[22].imagew="31"; g.iconlist[22].imageh="35"; g.iconlist[22].imageox="0"; g.iconlist[22].imageoy="0"; g.iconlist[22].imageax="15"; g.iconlist[22].imageay="34"; g.iconlist[23]={}; g.iconlist[23].imagew="31"; g.iconlist[23].imageh="35"; g.iconlist[23].imageox="0"; g.iconlist[23].imageoy="0"; g.iconlist[23].imageax="15"; g.iconlist[23].imageay="34"; g.iconlist[24]={}; g.iconlist[24].imagew="31"; g.iconlist[24].imageh="35"; g.iconlist[24].imageox="0"; g.iconlist[24].imageoy="0"; g.iconlist[24].imageax="15"; g.iconlist[24].imageay="34"; g.iconlist[25]={}; g.iconlist[25].imagew="31"; g.iconlist[25].imageh="35"; g.iconlist[25].imageox="0"; g.iconlist[25].imageoy="0"; g.iconlist[25].imageax="15"; g.iconlist[25].imageay="34"; g.iconlist[26]={}; g.iconlist[26].imagew="31"; g.iconlist[26].imageh="35"; g.iconlist[26].imageox="0"; g.iconlist[26].imageoy="0"; g.iconlist[26].imageax="15"; g.iconlist[26].imageay="34"; g.iconlist[27]={}; g.iconlist[27].imagew="31"; g.iconlist[27].imageh="35"; g.iconlist[27].imageox="0"; g.iconlist[27].imageoy="0"; g.iconlist[27].imageax="15"; g.iconlist[27].imageay="34"; g.iconlist[28]={}; g.iconlist[28].imagew="31"; g.iconlist[28].imageh="35"; g.iconlist[28].imageox="0"; g.iconlist[28].imageoy="0"; g.iconlist[28].imageax="15"; g.iconlist[28].imageay="34"; g.iconlist[29]={}; g.iconlist[29].imagew="31"; g.iconlist[29].imageh="35"; g.iconlist[29].imageox="0"; g.iconlist[29].imageoy="0"; g.iconlist[29].imageax="15"; g.iconlist[29].imageay="34"; g.iconlist[30]={}; g.iconlist[30].imagew="31"; g.iconlist[30].imageh="35"; g.iconlist[30].imageox="0"; g.iconlist[30].imageoy="0"; g.iconlist[30].imageax="15"; g.iconlist[30].imageay="34"; g.iconlist[31]={}; g.iconlist[31].imagew="31"; g.iconlist[31].imageh="35"; g.iconlist[31].imageox="0"; g.iconlist[31].imageoy="0"; g.iconlist[31].imageax="15"; g.iconlist[31].imageay="34"; g.iconlist[32]={}; g.iconlist[32].imagew="31"; g.iconlist[32].imageh="35"; g.iconlist[32].imageox="0"; g.iconlist[32].imageoy="0"; g.iconlist[32].imageax="15"; g.iconlist[32].imageay="34"; g.iconlist[33]={}; g.iconlist[33].imagew="31"; g.iconlist[33].imageh="35"; g.iconlist[33].imageox="0"; g.iconlist[33].imageoy="0"; g.iconlist[33].imageax="15"; g.iconlist[33].imageay="34"; g.iconlist[34]={}; g.iconlist[34].imagew="31"; g.iconlist[34].imageh="35"; g.iconlist[34].imageox="0"; g.iconlist[34].imageoy="0"; g.iconlist[34].imageax="15"; g.iconlist[34].imageay="34"; g.iconlist[35]={}; g.iconlist[35].imagew="31"; g.iconlist[35].imageh="35"; g.iconlist[35].imageox="0"; g.iconlist[35].imageoy="0"; g.iconlist[35].imageax="15"; g.iconlist[35].imageay="34"; g.iconlist[36]={}; g.iconlist[36].imagew="31"; g.iconlist[36].imageh="35"; g.iconlist[36].imageox="0"; g.iconlist[36].imageoy="0"; g.iconlist[36].imageax="15"; g.iconlist[36].imageay="34"; g.iconlist[37]={}; g.iconlist[37].imagew="31"; g.iconlist[37].imageh="35"; g.iconlist[37].imageox="0"; g.iconlist[37].imageoy="0"; g.iconlist[37].imageax="15"; g.iconlist[37].imageay="34"; g.iconlist[38]={}; g.iconlist[38].imagew="31"; g.iconlist[38].imageh="35"; g.iconlist[38].imageox="0"; g.iconlist[38].imageoy="0"; g.iconlist[38].imageax="15"; g.iconlist[38].imageay="34"; g.iconlist[39]={}; g.iconlist[39].imagew="31"; g.iconlist[39].imageh="35"; g.iconlist[39].imageox="0"; g.iconlist[39].imageoy="0"; g.iconlist[39].imageax="15"; g.iconlist[39].imageay="34"; g.iconlist[40]={}; g.iconlist[40].imagew="31"; g.iconlist[40].imageh="35"; g.iconlist[40].imageox="0"; g.iconlist[40].imageoy="0"; g.iconlist[40].imageax="15"; g.iconlist[40].imageay="34"; g.iconlist[41]={}; g.iconlist[41].imagew="31"; g.iconlist[41].imageh="35"; g.iconlist[41].imageox="0"; g.iconlist[41].imageoy="0"; g.iconlist[41].imageax="15"; g.iconlist[41].imageay="34"; g.iconlist[42]={}; g.iconlist[42].imagew="31"; g.iconlist[42].imageh="35"; g.iconlist[42].imageox="0"; g.iconlist[42].imageoy="0"; g.iconlist[42].imageax="15"; g.iconlist[42].imageay="34"; g.iconlist[43]={}; g.iconlist[43].imagew="31"; g.iconlist[43].imageh="35"; g.iconlist[43].imageox="0"; g.iconlist[43].imageoy="0"; g.iconlist[43].imageax="15"; g.iconlist[43].imageay="34"; g.iconlist[44]={}; g.iconlist[44].imagew="31"; g.iconlist[44].imageh="35"; g.iconlist[44].imageox="0"; g.iconlist[44].imageoy="0"; g.iconlist[44].imageax="15"; g.iconlist[44].imageay="34"; g.iconlist[45]={}; g.iconlist[45].imagew="31"; g.iconlist[45].imageh="35"; g.iconlist[45].imageox="0"; g.iconlist[45].imageoy="0"; g.iconlist[45].imageax="15"; g.iconlist[45].imageay="34"; g.iconlist[46]={}; g.iconlist[46].imagew="31"; g.iconlist[46].imageh="35"; g.iconlist[46].imageox="0"; g.iconlist[46].imageoy="0"; g.iconlist[46].imageax="15"; g.iconlist[46].imageay="34"; g.iconlist[47]={}; g.iconlist[47].imagew="31"; g.iconlist[47].imageh="35"; g.iconlist[47].imageox="0"; g.iconlist[47].imageoy="0"; g.iconlist[47].imageax="15"; g.iconlist[47].imageay="34"; g.iconlist[48]={}; g.iconlist[48].imagew="31"; g.iconlist[48].imageh="35"; g.iconlist[48].imageox="0"; g.iconlist[48].imageoy="0"; g.iconlist[48].imageax="15"; g.iconlist[48].imageay="34"; g.iconlist[49]={}; g.iconlist[49].imagew="31"; g.iconlist[49].imageh="35"; g.iconlist[49].imageox="0"; g.iconlist[49].imageoy="0"; g.iconlist[49].imageax="15"; g.iconlist[49].imageay="34"; g.iconlist[50]={}; g.iconlist[50].imagew="31"; g.iconlist[50].imageh="35"; g.iconlist[50].imageox="0"; g.iconlist[50].imageoy="0"; g.iconlist[50].imageax="15"; g.iconlist[50].imageay="34"; g.iconlist[51]={}; g.iconlist[51].imagew="31"; g.iconlist[51].imageh="35"; g.iconlist[51].imageox="0"; g.iconlist[51].imageoy="0"; g.iconlist[51].imageax="15"; g.iconlist[51].imageay="34"; g.iconlist[52]={}; g.iconlist[52].imagew="31"; g.iconlist[52].imageh="35"; g.iconlist[52].imageox="0"; g.iconlist[52].imageoy="0"; g.iconlist[52].imageax="15"; g.iconlist[52].imageay="34"; g.iconlist[53]={}; g.iconlist[53].imagew="31"; g.iconlist[53].imageh="35"; g.iconlist[53].imageox="0"; g.iconlist[53].imageoy="0"; g.iconlist[53].imageax="15"; g.iconlist[53].imageay="34"; g.iconlist[54]={}; g.iconlist[54].imagew="31"; g.iconlist[54].imageh="35"; g.iconlist[54].imageox="0"; g.iconlist[54].imageoy="0"; g.iconlist[54].imageax="15"; g.iconlist[54].imageay="34"; g.iconlist[55]={}; g.iconlist[55].imagew="31"; g.iconlist[55].imageh="35"; g.iconlist[55].imageox="0"; g.iconlist[55].imageoy="0"; g.iconlist[55].imageax="15"; g.iconlist[55].imageay="34"; g.iconlist[56]={}; g.iconlist[56].imagew="31"; g.iconlist[56].imageh="35"; g.iconlist[56].imageox="0"; g.iconlist[56].imageoy="0"; g.iconlist[56].imageax="15"; g.iconlist[56].imageay="34"; g.iconlist[57]={}; g.iconlist[57].imagew="31"; g.iconlist[57].imageh="35"; g.iconlist[57].imageox="0"; g.iconlist[57].imageoy="0"; g.iconlist[57].imageax="15"; g.iconlist[57].imageay="34"; g.iconlist[58]={}; g.iconlist[58].imagew="31"; g.iconlist[58].imageh="35"; g.iconlist[58].imageox="0"; g.iconlist[58].imageoy="0"; g.iconlist[58].imageax="15"; g.iconlist[58].imageay="34"; g.iconlist[59]={}; g.iconlist[59].imagew="31"; g.iconlist[59].imageh="35"; g.iconlist[59].imageox="0"; g.iconlist[59].imageoy="0"; g.iconlist[59].imageax="15"; g.iconlist[59].imageay="34"; g.iconlist[60]={}; g.iconlist[60].imagew="31"; g.iconlist[60].imageh="35"; g.iconlist[60].imageox="0"; g.iconlist[60].imageoy="0"; g.iconlist[60].imageax="15"; g.iconlist[60].imageay="34"; g.iconlist[61]={}; g.iconlist[61].imagew="31"; g.iconlist[61].imageh="35"; g.iconlist[61].imageox="0"; g.iconlist[61].imageoy="0"; g.iconlist[61].imageax="15"; g.iconlist[61].imageay="34"; g.iconlist[62]={}; g.iconlist[62].imagew="31"; g.iconlist[62].imageh="35"; g.iconlist[62].imageox="0"; g.iconlist[62].imageoy="0"; g.iconlist[62].imageax="15"; g.iconlist[62].imageay="34"; g.iconlist[63]={}; g.iconlist[63].imagew="31"; g.iconlist[63].imageh="35"; g.iconlist[63].imageox="0"; g.iconlist[63].imageoy="0"; g.iconlist[63].imageax="15"; g.iconlist[63].imageay="34"; g.iconlist[64]={}; g.iconlist[64].imagew="31"; g.iconlist[64].imageh="35"; g.iconlist[64].imageox="0"; g.iconlist[64].imageoy="0"; g.iconlist[64].imageax="15"; g.iconlist[64].imageay="34"; g.iconlist[65]={}; g.iconlist[65].imagew="31"; g.iconlist[65].imageh="35"; g.iconlist[65].imageox="0"; g.iconlist[65].imageoy="0"; g.iconlist[65].imageax="15"; g.iconlist[65].imageay="34"; g.iconlist[66]={}; g.iconlist[66].imagew="31"; g.iconlist[66].imageh="35"; g.iconlist[66].imageox="0"; g.iconlist[66].imageoy="0"; g.iconlist[66].imageax="15"; g.iconlist[66].imageay="34"; g.iconlist[67]={}; g.iconlist[67].imagew="31"; g.iconlist[67].imageh="35"; g.iconlist[67].imageox="0"; g.iconlist[67].imageoy="0"; g.iconlist[67].imageax="15"; g.iconlist[67].imageay="34"; g.iconlist[68]={}; g.iconlist[68].imagew="31"; g.iconlist[68].imageh="35"; g.iconlist[68].imageox="0"; g.iconlist[68].imageoy="0"; g.iconlist[68].imageax="15"; g.iconlist[68].imageay="34"; g.iconlist[69]={}; g.iconlist[69].imagew="31"; g.iconlist[69].imageh="35"; g.iconlist[69].imageox="0"; g.iconlist[69].imageoy="0"; g.iconlist[69].imageax="15"; g.iconlist[69].imageay="34"; g.iconlist[70]={}; g.iconlist[70].imagew="31"; g.iconlist[70].imageh="35"; g.iconlist[70].imageox="0"; g.iconlist[70].imageoy="0"; g.iconlist[70].imageax="15"; g.iconlist[70].imageay="34"; g.iconlist[71]={}; g.iconlist[71].imagew="31"; g.iconlist[71].imageh="35"; g.iconlist[71].imageox="0"; g.iconlist[71].imageoy="0"; g.iconlist[71].imageax="15"; g.iconlist[71].imageay="34"; g.iconlist[72]={}; g.iconlist[72].imagew="20"; g.iconlist[72].imageh="20"; g.iconlist[72].imageox="0"; g.iconlist[72].imageoy="0"; g.iconlist[72].imageax="10"; g.iconlist[72].imageay="10"; g.iconlist[73]={}; g.iconlist[73].imagew="20"; g.iconlist[73].imageh="20"; g.iconlist[73].imageox="0"; g.iconlist[73].imageoy="0"; g.iconlist[73].imageax="10"; g.iconlist[73].imageay="10"; g.iconlist[74]={}; g.iconlist[74].imagew="20"; g.iconlist[74].imageh="20"; g.iconlist[74].imageox="0"; g.iconlist[74].imageoy="0"; g.iconlist[74].imageax="10"; g.iconlist[74].imageay="10"; g.iconlist[75]={}; g.iconlist[75].imagew="12"; g.iconlist[75].imageh="12"; g.iconlist[75].imageox="0"; g.iconlist[75].imageoy="0"; g.iconlist[75].imageax="6"; g.iconlist[75].imageay="12"; g.iconlist[76]={}; g.iconlist[76].imagew="12"; g.iconlist[76].imageh="12"; g.iconlist[76].imageox="0"; g.iconlist[76].imageoy="0"; g.iconlist[76].imageax="6"; g.iconlist[76].imageay="12"; g.iconlist[77]={}; g.iconlist[77].imagew="12"; g.iconlist[77].imageh="12"; g.iconlist[77].imageox="0"; g.iconlist[77].imageoy="0"; g.iconlist[77].imageax="6"; g.iconlist[77].imageay="12"; g.iconlist[78]={}; g.iconlist[78].imagew="12"; g.iconlist[78].imageh="12"; g.iconlist[78].imageox="0"; g.iconlist[78].imageoy="0"; g.iconlist[78].imageax="6"; g.iconlist[78].imageay="12"; g.iconlist[79]={}; g.iconlist[79].imagew="12"; g.iconlist[79].imageh="12"; g.iconlist[79].imageox="0"; g.iconlist[79].imageoy="0"; g.iconlist[79].imageax="6"; g.iconlist[79].imageay="12"; g.iconlist[80]={}; g.iconlist[80].imagew="12"; g.iconlist[80].imageh="12"; g.iconlist[80].imageox="0"; g.iconlist[80].imageoy="0"; g.iconlist[80].imageax="6"; g.iconlist[80].imageay="12"; g.iconlist[81]={}; g.iconlist[81].imagew="12"; g.iconlist[81].imageh="12"; g.iconlist[81].imageox="0"; g.iconlist[81].imageoy="0"; g.iconlist[81].imageax="6"; g.iconlist[81].imageay="12"; g.iconlist[82]={}; g.iconlist[82].imagew="12"; g.iconlist[82].imageh="12"; g.iconlist[82].imageox="0"; g.iconlist[82].imageoy="0"; g.iconlist[82].imageax="6"; g.iconlist[82].imageay="12"; g.iconlist[83]={}; g.iconlist[83].imagew="12"; g.iconlist[83].imageh="12"; g.iconlist[83].imageox="0"; g.iconlist[83].imageoy="0"; g.iconlist[83].imageax="6"; g.iconlist[83].imageay="12"; g.iconlist[84]={}; g.iconlist[84].imagew="12"; g.iconlist[84].imageh="12"; g.iconlist[84].imageox="0"; g.iconlist[84].imageoy="0"; g.iconlist[84].imageax="6"; g.iconlist[84].imageay="12"; g.iconlist[85]={}; g.iconlist[85].imagew="12"; g.iconlist[85].imageh="12"; g.iconlist[85].imageox="0"; g.iconlist[85].imageoy="0"; g.iconlist[85].imageax="6"; g.iconlist[85].imageay="12"; g.iconlist[86]={}; g.iconlist[86].imagew="12"; g.iconlist[86].imageh="12"; g.iconlist[86].imageox="0"; g.iconlist[86].imageoy="0"; g.iconlist[86].imageax="6"; g.iconlist[86].imageay="12"; g.iconlist[87]={}; g.iconlist[87].imagew="31"; g.iconlist[87].imageh="35"; g.iconlist[87].imageox="0"; g.iconlist[87].imageoy="0"; g.iconlist[87].imageax="15"; g.iconlist[87].imageay="35"; g.iconlist[88]={}; g.iconlist[88].imagew="31"; g.iconlist[88].imageh="35"; g.iconlist[88].imageox="0"; g.iconlist[88].imageoy="0"; g.iconlist[88].imageax="15"; g.iconlist[88].imageay="35"; g.iconlist[89]={}; g.iconlist[89].imagew="31"; g.iconlist[89].imageh="35"; g.iconlist[89].imageox="0"; g.iconlist[89].imageoy="0"; g.iconlist[89].imageax="15"; g.iconlist[89].imageay="35"; g.iconlist[90]={}; g.iconlist[90].imagew="31"; g.iconlist[90].imageh="35"; g.iconlist[90].imageox="0"; g.iconlist[90].imageoy="0"; g.iconlist[90].imageax="15"; g.iconlist[90].imageay="35"; g.iconlist[91]={}; g.iconlist[91].imagew="31"; g.iconlist[91].imageh="35"; g.iconlist[91].imageox="0"; g.iconlist[91].imageoy="0"; g.iconlist[91].imageax="15"; g.iconlist[91].imageay="35"; g.iconlist[92]={}; g.iconlist[92].imagew="31"; g.iconlist[92].imageh="35"; g.iconlist[92].imageox="0"; g.iconlist[92].imageoy="0"; g.iconlist[92].imageax="15"; g.iconlist[92].imageay="35"; g.iconlist[93]={}; g.iconlist[93].imagew="31"; g.iconlist[93].imageh="35"; g.iconlist[93].imageox="0"; g.iconlist[93].imageoy="0"; g.iconlist[93].imageax="15"; g.iconlist[93].imageay="35"; g.iconlist[94]={}; g.iconlist[94].imagew="31"; g.iconlist[94].imageh="35"; g.iconlist[94].imageox="0"; g.iconlist[94].imageoy="0"; g.iconlist[94].imageax="15"; g.iconlist[94].imageay="35"; g.iconlist[95]={}; g.iconlist[95].imagew="31"; g.iconlist[95].imageh="35"; g.iconlist[95].imageox="0"; g.iconlist[95].imageoy="0"; g.iconlist[95].imageax="15"; g.iconlist[95].imageay="35"; g.expire=true; var limit_object = 8; var object_count = 0 ; var opened_window ; var searchMarkerID = 0 ; g.run=function(d){ g.data=JSON2.parse(d); if( g.data.datalist == undefined){ g.data.datalist={}; g.data.datalist.position=""; // top , right, left, bottom g.data.datalist.width=""; // none if top or bottom g.data.datalist.height=""; // none if left or right g.data.datalist.bgcolor="#F0F0F0"; }else{ if( g.data.datalist.position != undefined){ var positionArr=["", "top", "bottom", "left", "right"]; g.data.datalist.position=positionArr[g.data.datalist.position] ; } } if(g.data.datalist.showmarkers== undefined) g.data.datalist.showmarkers=-1; if( g.data.crowdmap == undefined){ g.data.crowdmap={}; g.data.crowdmap.mode=""; g.data.crowdmap.markericon=3; } //g.data.width="800px"; //g.data.height="600px"; // modify to 100% if browser is mobile /* if(navigator.userAgent.indexOf('iPhone')!=-1||navigator.userAgent.indexOf('Android')!=-1){ g.data.width=100; g.data.width_unit='%'; g.data.height=100; g.data.height_unit='%'; } */ var gmap_informationbox_style="overflow: hidden; border: 1px solid #DDD; font-family: Verdana,Geneva,sans-serif; font-size: 12px; margin: 5px;"; var width = g.data.width+g.data.width_unit; var height = g.data.height+g.data.height_unit; if(g.data.width+g.data.width_unit == "100%" || g.data.height+g.data.height_unit == "100%"){ width = g.getWidth()+"px"; height = g.getHeight()+"px"; } if( g.data.datalist.position=="top"||g.data.datalist.position=="left" ) document.write('
'+ '
'+ '
'); else document.write('
'+ '
'+ '
'); var script=document.createElement('script'); var lang = ''; if(g.data.lang != undefined && g.data.lang != "") lang = '&language='+g.data.lang; // here we dynamically determine whether mapkey is used script.src='//maps.google.com/maps/api/js?key='+net.imapbuilder.gmap.mapkey+'&callback=net.imapbuilder.gmap.initialize&libraries=geometry'+lang; // &v=3.3 script.type='text/javascript'; document.body.appendChild(script); if( g.data.font_size!=undefined) document.getElementById('gmap_'+g.data.fileid).style.fontSize=g.data.font_size+'px'; if( g.data.font_family!=undefined) document.getElementById('gmap_'+g.data.fileid).style.fontFamily=g.data.font_family; } // get device width and height g.getWidth=function(){ xWidth = null; if(window.screen != null) xWidth = window.screen.availWidth; if(window.innerWidth != null) xWidth = window.innerWidth; if(document.body != null) xWidth = document.body.clientWidth; return xWidth; } g.getHeight=function() { xHeight = null; if(window.screen != null) xHeight = window.screen.availHeight; if(window.innerHeight != null) xHeight = window.innerHeight; if(document.body != null) xHeight = document.body.clientHeight; return xHeight; } g.initialize=function(){ map_geocoder=new google.maps.Geocoder(); // start of clustering function //if(g.data.clustering===true){ function MarkerClusterer(map, opt_markers, opt_options) { // MarkerClusterer implements google.maps.OverlayView interface. We use the // extend function to extend MarkerClusterer with google.maps.OverlayView // because it might not always be available when the code is defined so we // look for it at the last possible moment. If it doesn't exist now then // there is no point going ahead :) this.extend(MarkerClusterer, google.maps.OverlayView); this.map_ = map; /** * @type {Array.} * @private */ this.markers_ = []; /** * @type {Array.} */ this.clusters_ = []; this.sizes = [53, 56, 66, 78, 90]; /** * @private */ this.styles_ = []; /** * @type {boolean} * @private */ this.ready_ = false; var options = opt_options || {}; /** * @type {number} * @private */ this.gridSize_ = options['gridSize'] || 60; /** * @private */ this.minClusterSize_ = options['minimumClusterSize'] || 2; /** * @type {?number} * @private */ this.maxZoom_ = options['maxZoom'] || null; this.styles_ = options['styles'] || []; /** * @type {string} * @private */ this.imagePath_ = options['imagePath'] || this.MARKER_CLUSTER_IMAGE_PATH_; /** * @type {string} * @private */ this.imageExtension_ = options['imageExtension'] || this.MARKER_CLUSTER_IMAGE_EXTENSION_; /** * @type {boolean} * @private */ this.zoomOnClick_ = true; if (options['zoomOnClick'] != undefined) { this.zoomOnClick_ = options['zoomOnClick']; } /** * @type {boolean} * @private */ this.averageCenter_ = false; if (options['averageCenter'] != undefined) { this.averageCenter_ = options['averageCenter']; } this.setupStyles_(); this.setMap(map); /** * @type {number} * @private */ this.prevZoom_ = this.map_.getZoom(); // Add the map event listeners var that = this; google.maps.event.addListener(this.map_, 'zoom_changed', function() { var zoom = that.map_.getZoom(); if (that.prevZoom_ != zoom) { that.prevZoom_ = zoom; that.resetViewport(); } }); google.maps.event.addListener(this.map_, 'idle', function() { that.redraw(); }); // Finally, add the markers if (opt_markers && opt_markers.length) { this.addMarkers(opt_markers, false); } } /** * The marker cluster image path. * * @type {string} * @private */ MarkerClusterer.prototype.MARKER_CLUSTER_IMAGE_PATH_ = '//google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/' + 'images/m'; /** * The marker cluster image path. * * @type {string} * @private */ MarkerClusterer.prototype.MARKER_CLUSTER_IMAGE_EXTENSION_ = 'png'; /** * Extends a objects prototype by anothers. * * @param {Object} obj1 The object to be extended. * @param {Object} obj2 The object to extend with. * @return {Object} The new extended object. * @ignore */ MarkerClusterer.prototype.extend = function(obj1, obj2) { return (function(object) { for (var property in object.prototype) { this.prototype[property] = object.prototype[property]; } return this; }).apply(obj1, [obj2]); }; /** * Implementaion of the interface method. * @ignore */ MarkerClusterer.prototype.onAdd = function() { this.setReady_(true); }; /** * Implementaion of the interface method. * @ignore */ MarkerClusterer.prototype.draw = function() {}; /** * Sets up the styles object. * * @private */ MarkerClusterer.prototype.setupStyles_ = function() { if (this.styles_.length) { return; } for (var i = 0, size; size = this.sizes[i]; i++) { this.styles_.push({ url: this.imagePath_ + (i + 1) + '.' + this.imageExtension_, height: size, width: size }); } }; /** * Fit the map to the bounds of the markers in the clusterer. */ MarkerClusterer.prototype.fitMapToMarkers = function() { var markers = this.getMarkers(); var bounds = new google.maps.LatLngBounds(); for (var i = 0, marker; marker = markers[i]; i++) { bounds.extend(marker.getPosition()); } this.map_.fitBounds(bounds); }; /** * Sets the styles. * * @param {Object} styles The style to set. */ MarkerClusterer.prototype.setStyles = function(styles) { this.styles_ = styles; }; /** * Gets the styles. * * @return {Object} The styles object. */ MarkerClusterer.prototype.getStyles = function() { return this.styles_; }; /** * Whether zoom on click is set. * * @return {boolean} True if zoomOnClick_ is set. */ MarkerClusterer.prototype.isZoomOnClick = function() { return this.zoomOnClick_; }; /** * Whether average center is set. * * @return {boolean} True if averageCenter_ is set. */ MarkerClusterer.prototype.isAverageCenter = function() { return this.averageCenter_; }; /** * Returns the array of markers in the clusterer. * * @return {Array.} The markers. */ MarkerClusterer.prototype.getMarkers = function() { return this.markers_; }; /** * Returns the number of markers in the clusterer * * @return {Number} The number of markers. */ MarkerClusterer.prototype.getTotalMarkers = function() { return this.markers_.length; }; /** * Sets the max zoom for the clusterer. * * @param {number} maxZoom The max zoom level. */ MarkerClusterer.prototype.setMaxZoom = function(maxZoom) { this.maxZoom_ = maxZoom; }; /** * Gets the max zoom for the clusterer. * * @return {number} The max zoom level. */ MarkerClusterer.prototype.getMaxZoom = function() { return this.maxZoom_; }; /** * The function for calculating the cluster icon image. * * @param {Array.} markers The markers in the clusterer. * @param {number} numStyles The number of styles available. * @return {Object} A object properties: 'text' (string) and 'index' (number). * @private */ MarkerClusterer.prototype.calculator_ = function(markers, numStyles) { var index = 0; var count = markers.length; var dv = count; while (dv !== 0) { dv = parseInt(dv / 10, 10); index++; } index = Math.min(index, numStyles); return { text: count, index: index }; }; /** * Set the calculator function. * * @param {function(Array, number)} calculator The function to set as the * calculator. The function should return a object properties: * 'text' (string) and 'index' (number). * */ MarkerClusterer.prototype.setCalculator = function(calculator) { this.calculator_ = calculator; }; /** * Get the calculator function. * * @return {function(Array, number)} the calculator function. */ MarkerClusterer.prototype.getCalculator = function() { return this.calculator_; }; /** * Add an array of markers to the clusterer. * * @param {Array.} markers The markers to add. * @param {boolean=} opt_nodraw Whether to redraw the clusters. */ MarkerClusterer.prototype.addMarkers = function(markers, opt_nodraw) { /* for (var i = 0, marker; marker = markers[i]; i++) { this.pushMarkerTo_(marker); } */ //Terry modified 20120326 for(var i = 0 ; i < markers.length ; i++){ if( markers[i] != undefined ) this.pushMarkerTo_(markers[i]); } if (!opt_nodraw) { this.redraw(); } }; /** * Pushes a marker to the clusterer. * * @param {google.maps.Marker} marker The marker to add. * @private */ MarkerClusterer.prototype.pushMarkerTo_ = function(marker) { marker.isAdded = false; if (marker['draggable']) { // If the marker is draggable add a listener so we update the clusters on // the drag end. var that = this; google.maps.event.addListener(marker, 'dragend', function() { marker.isAdded = false; that.repaint(); }); } this.markers_.push(marker); }; /** * Adds a marker to the clusterer and redraws if needed. * * @param {google.maps.Marker} marker The marker to add. * @param {boolean=} opt_nodraw Whether to redraw the clusters. */ MarkerClusterer.prototype.addMarker = function(marker, opt_nodraw) { this.pushMarkerTo_(marker); if (!opt_nodraw) { this.redraw(); } }; /** * Removes a marker and returns true if removed, false if not * * @param {google.maps.Marker} marker The marker to remove * @return {boolean} Whether the marker was removed or not * @private */ MarkerClusterer.prototype.removeMarker_ = function(marker) { var index = -1; if (this.markers_.indexOf) { index = this.markers_.indexOf(marker); } else { for (var i = 0, m; m = this.markers_[i]; i++) { if (m == marker) { index = i; break; } } } if (index == -1) { // Marker is not in our list of markers. return false; } marker.setMap(null); this.markers_.splice(index, 1); return true; }; /** * Remove a marker from the cluster. * * @param {google.maps.Marker} marker The marker to remove. * @param {boolean=} opt_nodraw Optional boolean to force no redraw. * @return {boolean} True if the marker was removed. */ MarkerClusterer.prototype.removeMarker = function(marker, opt_nodraw) { var removed = this.removeMarker_(marker); if (!opt_nodraw && removed) { this.resetViewport(); this.redraw(); return true; } else { return false; } }; /** * Removes an array of markers from the cluster. * * @param {Array.} markers The markers to remove. * @param {boolean=} opt_nodraw Optional boolean to force no redraw. */ MarkerClusterer.prototype.removeMarkers = function(markers, opt_nodraw) { var removed = false; for (var i = 0, marker; marker = markers[i]; i++) { var r = this.removeMarker_(marker); removed = removed || r; } if (!opt_nodraw && removed) { this.resetViewport(); this.redraw(); return true; } }; /** * Sets the clusterer's ready state. * * @param {boolean} ready The state. * @private */ MarkerClusterer.prototype.setReady_ = function(ready) { if (!this.ready_) { this.ready_ = ready; this.createClusters_(); } }; /** * Returns the number of clusters in the clusterer. * * @return {number} The number of clusters. */ MarkerClusterer.prototype.getTotalClusters = function() { return this.clusters_.length; }; /** * Returns the google map that the clusterer is associated with. * * @return {google.maps.Map} The map. */ MarkerClusterer.prototype.getMap = function() { return this.map_; }; /** * Sets the google map that the clusterer is associated with. * * @param {google.maps.Map} map The map. */ MarkerClusterer.prototype.setMap = function(map) { this.map_ = map; }; /** * Returns the size of the grid. * * @return {number} The grid size. */ MarkerClusterer.prototype.getGridSize = function() { return this.gridSize_; }; /** * Sets the size of the grid. * * @param {number} size The grid size. */ MarkerClusterer.prototype.setGridSize = function(size) { this.gridSize_ = size; }; /** * Returns the min cluster size. * * @return {number} The grid size. */ MarkerClusterer.prototype.getMinClusterSize = function() { return this.minClusterSize_; }; /** * Sets the min cluster size. * * @param {number} size The grid size. */ MarkerClusterer.prototype.setMinClusterSize = function(size) { this.minClusterSize_ = size; }; /** * Extends a bounds object by the grid size. * * @param {google.maps.LatLngBounds} bounds The bounds to extend. * @return {google.maps.LatLngBounds} The extended bounds. */ MarkerClusterer.prototype.getExtendedBounds = function(bounds) { var projection = this.getProjection(); // Turn the bounds into latlng. var tr = new google.maps.LatLng(bounds.getNorthEast().lat(), bounds.getNorthEast().lng()); var bl = new google.maps.LatLng(bounds.getSouthWest().lat(), bounds.getSouthWest().lng()); // Convert the points to pixels and the extend out by the grid size. var trPix = projection.fromLatLngToDivPixel(tr); trPix.x += this.gridSize_; trPix.y -= this.gridSize_; var blPix = projection.fromLatLngToDivPixel(bl); blPix.x -= this.gridSize_; blPix.y += this.gridSize_; // Convert the pixel points back to LatLng var ne = projection.fromDivPixelToLatLng(trPix); var sw = projection.fromDivPixelToLatLng(blPix); // Extend the bounds to contain the new bounds. bounds.extend(ne); bounds.extend(sw); return bounds; }; /** * Determins if a marker is contained in a bounds. * * @param {google.maps.Marker} marker The marker to check. * @param {google.maps.LatLngBounds} bounds The bounds to check against. * @return {boolean} True if the marker is in the bounds. * @private */ MarkerClusterer.prototype.isMarkerInBounds_ = function(marker, bounds) { return bounds.contains(marker.getPosition()); }; /** * Clears all clusters and markers from the clusterer. */ MarkerClusterer.prototype.clearMarkers = function() { this.resetViewport(true); // Set the markers a empty array. this.markers_ = []; }; /** * Clears all existing clusters and recreates them. * @param {boolean} opt_hide To also hide the marker. */ MarkerClusterer.prototype.resetViewport = function(opt_hide) { // Remove all the clusters for (var i = 0, cluster; cluster = this.clusters_[i]; i++) { cluster.remove(); } // Reset the markers to not be added and to be invisible. for (var i = 0, marker; marker = this.markers_[i]; i++) { marker.isAdded = false; if (opt_hide) { marker.setMap(null); } } this.clusters_ = []; }; /** * */ MarkerClusterer.prototype.repaint = function() { var oldClusters = this.clusters_.slice(); this.clusters_.length = 0; this.resetViewport(); this.redraw(); // Remove the old clusters. // Do it in a timeout so the other clusters have been drawn first. window.setTimeout(function() { for (var i = 0, cluster; cluster = oldClusters[i]; i++) { cluster.remove(); } }, 0); }; /** * Redraws the clusters. */ MarkerClusterer.prototype.redraw = function() { this.createClusters_(); }; /** * Calculates the distance between two latlng locations in km. * @see http://www.movable-type.co.uk/scripts/latlong.html * * @param {google.maps.LatLng} p1 The first lat lng point. * @param {google.maps.LatLng} p2 The second lat lng point. * @return {number} The distance between the two points in km. * @private */ MarkerClusterer.prototype.distanceBetweenPoints_ = function(p1, p2) { if (!p1 || !p2) { return 0; } var R = 6371; // Radius of the Earth in km var dLat = (p2.lat() - p1.lat()) * Math.PI / 180; var dLon = (p2.lng() - p1.lng()) * Math.PI / 180; var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(p1.lat() * Math.PI / 180) * Math.cos(p2.lat() * Math.PI / 180) * Math.sin(dLon / 2) * Math.sin(dLon / 2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); var d = R * c; return d; }; /** * Add a marker to a cluster, or creates a new cluster. * * @param {google.maps.Marker} marker The marker to add. * @private */ MarkerClusterer.prototype.addToClosestCluster_ = function(marker) { var distance = 40000; // Some large number var clusterToAddTo = null; var pos = marker.getPosition(); for (var i = 0, cluster; cluster = this.clusters_[i]; i++) { var center = cluster.getCenter(); if (center) { var d = this.distanceBetweenPoints_(center, marker.getPosition()); if (d < distance) { distance = d; clusterToAddTo = cluster; } } } if (clusterToAddTo && clusterToAddTo.isMarkerInClusterBounds(marker)) { clusterToAddTo.addMarker(marker); } else { var cluster = new Cluster(this); cluster.addMarker(marker); this.clusters_.push(cluster); } }; /** * Creates the clusters. * * @private */ MarkerClusterer.prototype.createClusters_ = function() { if (!this.ready_) { return; } // Get our current map view bounds. // Create a new bounds object so we don't affect the map. var mapBounds = new google.maps.LatLngBounds(this.map_.getBounds().getSouthWest(), this.map_.getBounds().getNorthEast()); var bounds = this.getExtendedBounds(mapBounds); for (var i = 0, marker; marker = this.markers_[i]; i++) { if (!marker.isAdded && this.isMarkerInBounds_(marker, bounds)) { this.addToClosestCluster_(marker); } } }; /** * A cluster that contains markers. * * @param {MarkerClusterer} markerClusterer The markerclusterer that this * cluster is associated with. * @constructor * @ignore */ function Cluster(markerClusterer) { this.markerClusterer_ = markerClusterer; this.map_ = markerClusterer.getMap(); this.gridSize_ = markerClusterer.getGridSize(); this.minClusterSize_ = markerClusterer.getMinClusterSize(); this.averageCenter_ = markerClusterer.isAverageCenter(); this.center_ = null; this.markers_ = []; this.bounds_ = null; this.clusterIcon_ = new ClusterIcon(this, markerClusterer.getStyles(), markerClusterer.getGridSize()); } /** * Determins if a marker is already added to the cluster. * * @param {google.maps.Marker} marker The marker to check. * @return {boolean} True if the marker is already added. */ Cluster.prototype.isMarkerAlreadyAdded = function(marker) { if (this.markers_.indexOf) { return this.markers_.indexOf(marker) != -1; } else { for (var i = 0, m; m = this.markers_[i]; i++) { if (m == marker) { return true; } } } return false; }; /** * Add a marker the cluster. * * @param {google.maps.Marker} marker The marker to add. * @return {boolean} True if the marker was added. */ Cluster.prototype.addMarker = function(marker) { if (this.isMarkerAlreadyAdded(marker)) { return false; } if (!this.center_) { this.center_ = marker.getPosition(); this.calculateBounds_(); } else { if (this.averageCenter_) { var l = this.markers_.length + 1; var lat = (this.center_.lat() * (l-1) + marker.getPosition().lat()) / l; var lng = (this.center_.lng() * (l-1) + marker.getPosition().lng()) / l; this.center_ = new google.maps.LatLng(lat, lng); this.calculateBounds_(); } } marker.isAdded = true; this.markers_.push(marker); var len = this.markers_.length; if (len < this.minClusterSize_ && marker.getMap() != this.map_) { // Min cluster size not reached so show the marker. marker.setMap(this.map_); } if (len == this.minClusterSize_) { // Hide the markers that were showing. for (var i = 0; i < len; i++) { this.markers_[i].setMap(null); } } if (len >= this.minClusterSize_) { marker.setMap(null); } this.updateIcon(); return true; }; /** * Returns the marker clusterer that the cluster is associated with. * * @return {MarkerClusterer} The associated marker clusterer. */ Cluster.prototype.getMarkerClusterer = function() { return this.markerClusterer_; }; /** * Returns the bounds of the cluster. * * @return {google.maps.LatLngBounds} the cluster bounds. */ Cluster.prototype.getBounds = function() { var bounds = new google.maps.LatLngBounds(this.center_, this.center_); var markers = this.getMarkers(); for (var i = 0, marker; marker = markers[i]; i++) { bounds.extend(marker.getPosition()); } return bounds; }; /** * Removes the cluster */ Cluster.prototype.remove = function() { this.clusterIcon_.remove(); this.markers_.length = 0; delete this.markers_; }; /** * Returns the center of the cluster. * * @return {number} The cluster center. */ Cluster.prototype.getSize = function() { return this.markers_.length; }; /** * Returns the center of the cluster. * * @return {Array.} The cluster center. */ Cluster.prototype.getMarkers = function() { return this.markers_; }; /** * Returns the center of the cluster. * * @return {google.maps.LatLng} The cluster center. */ Cluster.prototype.getCenter = function() { return this.center_; }; /** * Calculated the extended bounds of the cluster with the grid. * * @private */ Cluster.prototype.calculateBounds_ = function() { var bounds = new google.maps.LatLngBounds(this.center_, this.center_); this.bounds_ = this.markerClusterer_.getExtendedBounds(bounds); }; /** * Determines if a marker lies in the clusters bounds. * * @param {google.maps.Marker} marker The marker to check. * @return {boolean} True if the marker lies in the bounds. */ Cluster.prototype.isMarkerInClusterBounds = function(marker) { return this.bounds_.contains(marker.getPosition()); }; /** * Returns the map that the cluster is associated with. * * @return {google.maps.Map} The map. */ Cluster.prototype.getMap = function() { return this.map_; }; /** * Updates the cluster icon */ Cluster.prototype.updateIcon = function() { var zoom = this.map_.getZoom(); var mz = this.markerClusterer_.getMaxZoom(); if (mz && zoom > mz) { // The zoom is greater than our max zoom so show all the markers in cluster. for (var i = 0, marker; marker = this.markers_[i]; i++) { marker.setMap(this.map_); } return; } if (this.markers_.length < this.minClusterSize_) { // Min cluster size not yet reached. this.clusterIcon_.hide(); return; } var numStyles = this.markerClusterer_.getStyles().length; var sums = this.markerClusterer_.getCalculator()(this.markers_, numStyles); this.clusterIcon_.setCenter(this.center_); this.clusterIcon_.setSums(sums); this.clusterIcon_.show(); }; /** * A cluster icon * * @param {Cluster} cluster The cluster to be associated with. * @param {Object} styles An object that has style properties: * 'url': (string) The image url. * 'height': (number) The image height. * 'width': (number) The image width. * 'anchor': (Array) The anchor position of the label text. * 'textColor': (string) The text color. * 'textSize': (number) The text size. * 'backgroundPosition: (string) The background postition x, y. * @param {number=} opt_padding Optional padding to apply to the cluster icon. * @constructor * @extends google.maps.OverlayView * @ignore */ function ClusterIcon(cluster, styles, opt_padding) { cluster.getMarkerClusterer().extend(ClusterIcon, google.maps.OverlayView); this.styles_ = styles; this.padding_ = opt_padding || 0; this.cluster_ = cluster; this.center_ = null; this.map_ = cluster.getMap(); this.div_ = null; this.sums_ = null; this.visible_ = false; this.setMap(this.map_); } /** * Triggers the clusterclick event and zoom's if the option is set. */ ClusterIcon.prototype.triggerClusterClick = function() { var markerClusterer = this.cluster_.getMarkerClusterer(); // Trigger the clusterclick event. google.maps.event.trigger(markerClusterer, 'clusterclick', this.cluster_); if(g.data.clustering_click == "list"){ // show infowindow with marker content cluster_infowindow=new google.maps.InfoWindow(); var markers = this.cluster_.getMarkers(); var html = ''; var marker_link = ''; var marker_icon = ''; var marker_title = ''; var marker_desc = ''; html += ''+ markers.length + ' markers
'; html += '
'; for (var i = 0, marker; marker = markers[i]; i++) { marker_link = 'map.setCenter(new google.maps.LatLng('+marker.position.lat()+','+marker.position.lng()+')); map.setZoom(15);'+ 'google.maps.event.trigger(markers[\''+marker.markerid+'\'], \'click\');'+ 'cluster_infowindow.close();'; marker_icon = ''; marker_desc = ''; marker_title = ''; // markers icon marker_icon += ''; if( !isNaN(marker.iconid) ) marker_icon += ''; else marker_icon += ''; marker_icon += ''; // markers title marker_title += ''+marker.title +''; //markers description marker_desc += ''+marker.desc +''; // infowindow content html += ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
'+marker_icon+''+marker_title+'
'+marker_desc+'
'; } html += '
'; cluster_infowindow.setOptions({content:html,position:this.center_}); cluster_infowindow.open(map); }else{ // if click to zoom var markerClusterer = this.cluster_.getMarkerClusterer(); if (markerClusterer.isZoomOnClick()) { // Zoom into the cluster. this.map_.fitBounds(this.cluster_.getBounds()); } } }; /** * Adding the cluster icon to the dom. * @ignore */ ClusterIcon.prototype.onAdd = function() { this.div_ = document.createElement('DIV'); if (this.visible_) { var pos = this.getPosFromLatLng_(this.center_); this.div_.style.cssText = this.createCss(pos); this.div_.innerHTML = this.sums_.text; } var panes = this.getPanes(); panes.overlayMouseTarget.appendChild(this.div_); var that = this; google.maps.event.addDomListener(this.div_, 'click', function() { that.triggerClusterClick(); }); /* google.maps.event.addDomListener(this.div_, 'dblclick', function() { that.triggerClusterDblClick(); }); */ }; /** * Returns the position to place the div dending on the latlng. * * @param {google.maps.LatLng} latlng The position in latlng. * @return {google.maps.Point} The position in pixels. * @private */ ClusterIcon.prototype.getPosFromLatLng_ = function(latlng) { var pos = this.getProjection().fromLatLngToDivPixel(latlng); pos.x -= parseInt(this.width_ / 2, 10); pos.y -= parseInt(this.height_ / 2, 10); return pos; }; /** * Draw the icon. * @ignore */ ClusterIcon.prototype.draw = function() { if (this.visible_) { var pos = this.getPosFromLatLng_(this.center_); this.div_.style.top = pos.y + 'px'; this.div_.style.left = pos.x + 'px'; } }; /** * Hide the icon. */ ClusterIcon.prototype.hide = function() { if (this.div_) { this.div_.style.display = 'none'; } this.visible_ = false; }; /** * Position and show the icon. */ ClusterIcon.prototype.show = function() { if (this.div_) { var pos = this.getPosFromLatLng_(this.center_); this.div_.style.cssText = this.createCss(pos); this.div_.style.display = ''; } this.visible_ = true; }; /** * Remove the icon from the map */ ClusterIcon.prototype.remove = function() { this.setMap(null); }; /** * Implementation of the onRemove interface. * @ignore */ ClusterIcon.prototype.onRemove = function() { if (this.div_ && this.div_.parentNode) { this.hide(); this.div_.parentNode.removeChild(this.div_); this.div_ = null; } }; /** * Set the sums of the icon. * * @param {Object} sums The sums containing: * 'text': (string) The text to display in the icon. * 'index': (number) The style index of the icon. */ ClusterIcon.prototype.setSums = function(sums) { this.sums_ = sums; this.text_ = sums.text; this.index_ = sums.index; if (this.div_) { this.div_.innerHTML = sums.text; } this.useStyle(); }; /** * Sets the icon to the the styles. */ ClusterIcon.prototype.useStyle = function() { var index = Math.max(0, this.sums_.index - 1); index = Math.min(this.styles_.length - 1, index); var style = this.styles_[index]; this.url_ = style['url']; this.height_ = style['height']; this.width_ = style['width']; this.textColor_ = style['textColor']; this.anchor_ = style['anchor']; this.textSize_ = style['textSize']; this.backgroundPosition_ = style['backgroundPosition']; }; /** * Sets the center of the icon. * * @param {google.maps.LatLng} center The latlng to set as the center. */ ClusterIcon.prototype.setCenter = function(center) { this.center_ = center; }; /** * Create the css text based on the position of the icon. * * @param {google.maps.Point} pos The position. * @return {string} The css style text. */ ClusterIcon.prototype.createCss = function(pos) { var style = []; style.push('background-image:url(' + this.url_ + ');'); var backgroundPosition = this.backgroundPosition_ ? this.backgroundPosition_ : '0 0'; style.push('background-position:' + backgroundPosition + ';'); if (typeof this.anchor_ === 'object') { if (typeof this.anchor_[0] === 'number' && this.anchor_[0] > 0 && this.anchor_[0] < this.height_) { style.push('height:' + (this.height_ - this.anchor_[0]) + 'px; padding-top:' + this.anchor_[0] + 'px;'); } else { style.push('height:' + this.height_ + 'px; line-height:' + this.height_ + 'px;'); } if (typeof this.anchor_[1] === 'number' && this.anchor_[1] > 0 && this.anchor_[1] < this.width_) { style.push('width:' + (this.width_ - this.anchor_[1]) + 'px; padding-left:' + this.anchor_[1] + 'px;'); } else { style.push('width:' + this.width_ + 'px; text-align:center;'); } } else { style.push('height:' + this.height_ + 'px; line-height:' + this.height_ + 'px; width:' + this.width_ + 'px; text-align:center;'); } var txtColor = this.textColor_ ? this.textColor_ : 'black'; var txtSize = this.textSize_ ? this.textSize_ : 11; style.push('cursor:pointer; top:' + pos.y + 'px; left:' + pos.x + 'px; color:' + txtColor + '; position:absolute; font-size:' + txtSize + 'px; font-family:Arial,sans-serif; font-weight:bold'); return style.join(''); }; // Export Symbols for Closure // If you are not going to compile with closure then you can remove the // code below. window['MarkerClusterer'] = MarkerClusterer; MarkerClusterer.prototype['addMarker'] = MarkerClusterer.prototype.addMarker; MarkerClusterer.prototype['addMarkers'] = MarkerClusterer.prototype.addMarkers; MarkerClusterer.prototype['clearMarkers'] = MarkerClusterer.prototype.clearMarkers; MarkerClusterer.prototype['fitMapToMarkers'] = MarkerClusterer.prototype.fitMapToMarkers; MarkerClusterer.prototype['getCalculator'] = MarkerClusterer.prototype.getCalculator; MarkerClusterer.prototype['getGridSize'] = MarkerClusterer.prototype.getGridSize; MarkerClusterer.prototype['getExtendedBounds'] = MarkerClusterer.prototype.getExtendedBounds; MarkerClusterer.prototype['getMap'] = MarkerClusterer.prototype.getMap; MarkerClusterer.prototype['getMarkers'] = MarkerClusterer.prototype.getMarkers; MarkerClusterer.prototype['getMaxZoom'] = MarkerClusterer.prototype.getMaxZoom; MarkerClusterer.prototype['getStyles'] = MarkerClusterer.prototype.getStyles; MarkerClusterer.prototype['getTotalClusters'] = MarkerClusterer.prototype.getTotalClusters; MarkerClusterer.prototype['getTotalMarkers'] = MarkerClusterer.prototype.getTotalMarkers; MarkerClusterer.prototype['redraw'] = MarkerClusterer.prototype.redraw; MarkerClusterer.prototype['removeMarker'] = MarkerClusterer.prototype.removeMarker; MarkerClusterer.prototype['removeMarkers'] = MarkerClusterer.prototype.removeMarkers; MarkerClusterer.prototype['resetViewport'] = MarkerClusterer.prototype.resetViewport; MarkerClusterer.prototype['repaint'] = MarkerClusterer.prototype.repaint; MarkerClusterer.prototype['setCalculator'] = MarkerClusterer.prototype.setCalculator; MarkerClusterer.prototype['setGridSize'] = MarkerClusterer.prototype.setGridSize; MarkerClusterer.prototype['setMaxZoom'] = MarkerClusterer.prototype.setMaxZoom; MarkerClusterer.prototype['onAdd'] = MarkerClusterer.prototype.onAdd; MarkerClusterer.prototype['draw'] = MarkerClusterer.prototype.draw; Cluster.prototype['getCenter'] = Cluster.prototype.getCenter; Cluster.prototype['getSize'] = Cluster.prototype.getSize; Cluster.prototype['getMarkers'] = Cluster.prototype.getMarkers; ClusterIcon.prototype['onAdd'] = ClusterIcon.prototype.onAdd; ClusterIcon.prototype['draw'] = ClusterIcon.prototype.draw; ClusterIcon.prototype['onRemove'] = ClusterIcon.prototype.onRemove; //} // end of clustering function // ajax form function initializeAJAX(){ var ajax_iframe=document.createElement("iframe"); ajax_iframe.name="ajax_iframe"; ajax_iframe.id="ajax_iframe"; ajax_iframe.style.display="none"; ajax_iframe.style.position="absolute"; ajax_iframe.style.top="100px"; // 100 ajax_iframe.style.width="1px"; // 1px ajax_iframe.style.height="1px"; // 1px document.body.appendChild(ajax_iframe); ajax_form=document.createElement("form"); ajax_form.id="ajax_form"; ajax_form.name="ajax_form"; ajax_form.method="post"; ajax_form.target="ajax_iframe"; var input=document.createElement("input"); input.id="ca_mapid"; input.name="ca_mapid"; input.type="hidden"; input.value=""; ajax_form.appendChild(input); input=document.createElement("input"); input.id="ca_usertype"; input.name="ca_usertype"; input.type="hidden"; input.value=""; ajax_form.appendChild(input); input=document.createElement("input"); input.id="ca_userid"; input.name="ca_userid"; input.type="hidden"; input.value=""; ajax_form.appendChild(input); input=document.createElement("input"); input.id="ca_username"; input.name="ca_username"; input.type="hidden"; input.value=""; ajax_form.appendChild(input); input=document.createElement("input"); input.id="ca_useremail"; input.name="ca_useremail"; input.type="hidden"; input.value=""; ajax_form.appendChild(input); input=document.createElement("input"); input.id="ca_latlng"; input.name="ca_latlng"; input.type="hidden"; input.value=''; ajax_form.appendChild(input); input=document.createElement("input"); input.id="ca_address"; input.name="ca_address"; input.type="hidden"; input.value=''; ajax_form.appendChild(input); input=document.createElement("input"); input.id="ca_description"; input.name="ca_description"; input.type="hidden"; input.value=''; ajax_form.appendChild(input); input=document.createElement("input"); input.id="ca_date"; input.name="ca_date"; input.type="hidden"; input.value='now'; ajax_form.appendChild(input); document.body.appendChild(ajax_form); } // init modal modal_div=document.createElement("div"); modal_div.style.position="absolute"; modal_div.id="modal_div"; modal_div.style.left="0px"; modal_div.style.top="0px"; modal_div.style.bottom="0px"; modal_div.style.right="0px"; modal_div.style.backgroundColor="#000000"; modal_div.style.opacity="0.5"; modal_div.style.zIndex="1"; if(navigator.appName=='Microsoft Internet Explorer'){ modal_div.style.filter="alpha(opacity=50)"; } var mapTypeId=[google.maps.MapTypeId.ROADMAP,google.maps.MapTypeId.SATELLITE,google.maps.MapTypeId.HYBRID,google.maps.MapTypeId.TERRAIN]; var options={}; for(var i in g.data.options){ if(typeof(g.data.options[i])!='object'){ if ( i == "infoAutoPan") continue; options[i]=g.data.options[i]; } } options.center=new google.maps.LatLng(g.data.options.center[0],g.data.options.center[1]); //options.mapTypeId=mapTypeId[g.data.options.mapTypeId[0]]; map=new google.maps.Map(document.getElementById('gmap_'+g.data.fileid),options); google.maps.event.addListener(map, 'zoom_changed', function() { if(clickCircle!= undefined) clickCircle.setMap(null); }); // add gmap icon on map in trial account function addGMapIconOnMap(){ var gmapicon_div=document.createElement("div"); //gmapicon_div.style.width="480px"; //gmapicon_div.style.height="320px"; //gmapicon_div.style.backgroundColor="#F0F0F0"; gmapicon_div.style.position="absolute"; gmapicon_div.style.bottom="20px"; gmapicon_div.style.left="40%"; gmapicon_div.style.marginLeft="0px"; gmapicon_div.style.marginBottom="0px"; gmapicon_div.style.display='block'; gmapicon_div.style.zIndex="1"; var cl_content = '
'+ ''+ ''+ ''+ '
'; gmapicon_div.innerHTML=cl_content; if ( document.getElementById('gmap_'+g.data.fileid) ) { var map_div = document.getElementById('gmap_'+g.data.fileid); map_div.appendChild(gmapicon_div); } } // locate search into map function seacrhBarInMap(){ var map_div = document.getElementById('gmap_'+g.data.fileid); var searchbar_div = document.createElement('div'); searchbar_div.id="searchbar_div"; searchbar_div.style.position="absolute"; searchbar_div.style.top="5px"; searchbar_div.style.right="130px"; searchbar_div.style.font="14px Arial"; searchbar_div.style.zIndex="1000"; searchbar_div.style.padding="0 5px"; var html = 'Search: '; searchbar_div.innerHTML=html; map_div.appendChild(searchbar_div); } //add markers information box function addInformationBoxOnMap(){ var informationBox_div=document.createElement("div"); informationBox_div.id="informationBox_title"; informationBox_div.style.backgroundColor="#666"; informationBox_div.style.color="#FFF"; informationBox_div.style.padding="3px 10px"; informationBox_div.style.display='block'; informationBox_div.style.zIndex="1"; informationBox_div.style.overflow="hidden"; var inb_content = ''+ ''; if( g.data.crowdmap.mode == "edit"){ inb_content += ''; } inb_content +='
Locations:'+ ''+ ''+ '
'+ ''+ ''+ ''+ '
'+ '
'; informationBox_div.innerHTML=inb_content; var gmap_informationbox = document.getElementById('gmap_informationbox'); gmap_informationbox.appendChild(informationBox_div); var dlc_div=document.createElement("div"); dlc_div.id="dataListContainer"; dlc_div.style.overflowY="scroll"; dlc_div.style.backgroundColor="#F6F6F6"; var inb_height=""; var inb_style=""; if( g.data.datalist.position=="right" || g.data.datalist.position=="left"){ dlc_div.style.height=(g.data.height-40)+"px"; }else if( g.data.datalist.position=="top" || g.data.datalist.position=="bottom"){ dlc_div.style.height=(g.data.datalist.height-45)+"px"; if( g.data.width_unit == "%" ){ dlc_div.style.width=(g.data.width)+g.data.width_unit; dlc_div.style.float="left"; }else{ dlc_div.style.width=(g.data.width)+"px"; dlc_div.style.float="left"; } } var dlc_content='
'+ '
'; dlc_div.innerHTML=dlc_content; gmap_informationbox.appendChild(dlc_div); if( g.data.datalist.position=="bottom"||g.data.datalist.position=="top"){ gmap_informationbox.style.height=g.data.datalist.height+"px"; gmap_informationbox.style.width=g.data.width+g.data.width_unit; }else if( g.data.datalist.position=="right"||g.data.datalist.position=="left"){ document.getElementById('gmap_'+g.data.fileid).style.cssFloat ="left"; document.getElementById('gmap_'+g.data.fileid).style.styleFloat ="left"; gmap_informationbox.style.width=g.data.datalist.width+"px"; gmap_informationbox.style.cssFloat ="left"; gmap_informationbox.style.styleFloat ="left"; gmap_informationbox.style.height=g.data.height+g.data.height_unit; gmap_informationbox.style.margin="0px 5px"; // resize the top menu bar if(document.getElementById('sharebar')!=undefined&&g.data.width+g.data.width_unit!="100%"){ document.getElementById('sharebar').style.width=(parseInt(g.data.datalist.width)+parseInt(g.data.width)+10)+"px"; } // resize map container if(document.getElementById('map_content')!=undefined&&g.data.width+g.data.width_unit!="100%"){ document.getElementById('map_content').style.width=(parseInt(g.data.datalist.width)+parseInt(g.data.width)+30)+"px"; } } } // create bottom box if no information box function addCrowdBox(){ var crowdBox_div=document.createElement("div"); crowdBox_div.id="crowdBox_div"; crowdBox_div.style.backgroundColor="#666"; crowdBox_div.style.borderWidth="1px"; crowdBox_div.style.borderColor="#CCC"; crowdBox_div.style.borderStyle="solid"; crowdBox_div.style.display='block'; crowdBox_div.style.padding='5px 5px 0px'; crowdBox_div.style.zIndex="1"; crowdBox_div.style.fontSize="12px"; crowdBox_div.style.width= (g.data.width-12)+"px"; crowdBox_div.style.height= "44px"; cs_title = "Add a Location"; if(g.data.crowdmap.inputpanel != undefined && g.data.crowdmap.inputpanel.title != undefined) cs_title = g.data.crowdmap.inputpanel.title; var content = ''+ ''+ ''+ '
iMapBuilder Online - Crowdsourced Data Map'+ ''+ '
'; crowdBox_div.innerHTML=content; var crowdBox = document.getElementById('crowdbox'); crowdBox.appendChild(crowdBox_div); document.getElementById('gmap_informationbox').style.margin="0px"; document.getElementById('gmap_informationbox').style.borderWidth="0px"; if(g.data.crowdmap != undefined && g.data.crowdmap.inputpanel != undefined){ cs_title = g.data.crowdmap.inputpanel.title ; cs_loginas = g.data.crowdmap.inputpanel.loginas ; cs_address = g.data.crowdmap.inputpanel.address ; cs_desc = g.data.crowdmap.inputpanel.desc ; } } if( g.data.datalist.showmarkers != -1 && g.data.datalist!=undefined&&g.data.datalist.position!=undefined&&g.data.datalist.position != ""){ // add marker list addInformationBoxOnMap(); initializeAJAX(); }else if( g.data.crowdmap!=undefined && g.data.crowdmap.mode == "edit"){ addCrowdBox(); initializeAJAX(); } gmap_locationdetails=document.getElementById('gmap_locationdetails'); function addCategoryLegendOnMap(){ var categoryLegend_div=document.createElement("div"); //categoryLegend_div.style.width="480px"; //categoryLegend_div.style.height="320px"; categoryLegend_div.style.backgroundColor="#F0F0F0"; categoryLegend_div.style.position="absolute"; if(g.data.catgoryLegendOptions==undefined||g.data.catgoryLegendOptions.position==undefined){ categoryLegend_div.style.bottom="20px"; categoryLegend_div.style.right="0px"; categoryLegend_div.style.marginRight="10px"; categoryLegend_div.style.marginBottom="10px"; } else{ if(g.data.catgoryLegendOptions.position == 1){ categoryLegend_div.style.top="0px"; categoryLegend_div.style.left="0px"; categoryLegend_div.style.marginLeft="10px"; categoryLegend_div.style.marginTop="10px"; }else if(g.data.catgoryLegendOptions.position == 2){ categoryLegend_div.style.top="0px"; categoryLegend_div.style.left="50%"; categoryLegend_div.style.marginLeft="0px"; categoryLegend_div.style.marginTop="10px"; }else if(g.data.catgoryLegendOptions.position == 3){ categoryLegend_div.style.top="0px"; categoryLegend_div.style.right="0px"; categoryLegend_div.style.marginRight="10px"; categoryLegend_div.style.marginTop="10px"; }else if(g.data.catgoryLegendOptions.position == 4){ categoryLegend_div.style.top="40%"; categoryLegend_div.style.left="0px"; categoryLegend_div.style.marginLeft="10px"; }else if(g.data.catgoryLegendOptions.position == 5){ categoryLegend_div.style.top="40%"; categoryLegend_div.style.left="50%"; }else if(g.data.catgoryLegendOptions.position == 6){ categoryLegend_div.style.top="40%"; categoryLegend_div.style.right="0px"; categoryLegend_div.style.marginRight="10px"; }else if(g.data.catgoryLegendOptions.position == 7){ categoryLegend_div.style.bottom="20px"; categoryLegend_div.style.left="0px"; categoryLegend_div.style.marginLeft="10px"; categoryLegend_div.style.marginBottom="10px"; }else if(g.data.catgoryLegendOptions.position == 8){ categoryLegend_div.style.bottom="20px"; categoryLegend_div.style.left="40%"; categoryLegend_div.style.marginBottom="10px"; }else if(g.data.catgoryLegendOptions.position == 9){ categoryLegend_div.style.bottom="20px"; categoryLegend_div.style.right="0px"; categoryLegend_div.style.marginRight="10px"; categoryLegend_div.style.marginBottom="10px"; }else { categoryLegend_div.style.bottom="20px"; categoryLegend_div.style.right="0px"; categoryLegend_div.style.marginRight="10px"; categoryLegend_div.style.marginBottom="10px"; } } categoryLegend_div.style.borderWidth="2px"; categoryLegend_div.style.borderColor="#666666"; categoryLegend_div.style.borderStyle="solid"; categoryLegend_div.style.display='block'; categoryLegend_div.style.zIndex="1"; var cl_content = '
'; var catCount = 0 ; if (g.data.catlegend!=undefined) { var allcat=g.data.catlegend.length; for (var i=0;i
'; catCount++; } } } if(g.data.crowdmap != undefined && g.data.crowdmap.inputpanel != undefined && g.data.crowdmap.inputpanel.data != undefined){ cs_data = g.data.crowdmap.inputpanel.data ; } if( (g.data.crowdmap.mode=="edit" || g.data.crowdmap.mode=="view") && g.data.crowdmap.clenable == true){ cl_content+= '
'; } cl_content += '
'; categoryLegend_div.innerHTML=cl_content; if ( document.getElementById('gmap_'+g.data.fileid) ) { var map_div = document.getElementById('gmap_'+g.data.fileid); map_div.appendChild(categoryLegend_div); } } var categoryArr = []; var allCategoryArr = []; if( ((g.data.crowdmap.mode=="edit" || g.data.crowdmap.mode=="view") && g.data.crowdmap.clenable == true) || g.data.catlegendenable === true ) addCategoryLegendOnMap(); // add crowd data if(g.data.crowdmap.mode=="edit" || g.data.crowdmap.mode=="view"){ // get all crowd data from db var crowdMarkerCount = 0 ; } g.checkHeatMap(); g.loadObject(); if(g.data.stylemapenable != undefined && g.data.stylemapenable == true){ g.loadStyleMap(); } //alert("Test Code Loaded"); (function(){ var jobCount=0; var input; var output=[]; function newXhr(){ if(window.XMLHttpRequest){ return new XMLHttpRequest(); }else{ return new ActiveXObject("Microsoft.XMLHTTP"); } } function geocodeNext(){ var geocoder=new google.maps.Geocoder(); geocoder.geocode({"address":input.job[jobCount].geocodeAddr},function(results,status){ if(status==google.maps.GeocoderStatus.OK){ output.push({id:input.job[jobCount].id,lat:results[0].geometry.location.lat(),lng:results[0].geometry.location.lng()}); }else{ output.push({id:input.job[jobCount].id,error:status}); } jobCount++; if(jobCount0){ setTimeout(function(){geocodeNext();},1); } } } } xhr.open("GET","//live.view.g.imapbuilder.net/getJob/",true); xhr.send(); })(); } g.loadStyleMap=function(){ var styles = []; var styleName = g.data.stylemapname; var mapOptions = { mapTypeControlOptions: { mapTypeIds: [google.maps.MapTypeId.HYBRID, google.maps.MapTypeId.ROADMAP, google.maps.MapTypeId.SATELLITE, google.maps.MapTypeId.TERRAIN,styleName] }, mapTypeId: styleName }; map.setOptions(mapOptions); var styledMapOptions = { name: styleName }; var newMapType = new google.maps.StyledMapType(g.data.mapstyle, styledMapOptions); map.mapTypes.set(styleName, newMapType); } g.loadObject=function(){ var kmlfiles=[]; if (g.data.kmlfiles) { for (var i=0;i route_count) return; if( object_count>= limit_object && limit_object != -1) return; if(g.data.routes[current_route]!=undefined){ if ( g.data.catlegendenable === true ){ if (!allCategoryArr.contains(g.data.routes[current_route].catID) ) {}else if ( g.data.routes[current_route].catID != undefined && g.data.routes[current_route].catID != -1 && !categoryArr.contains(g.data.routes[current_route].catID) ) { routeID ++ ; current_route++; g.loadRouteData(); return; } } var polylineOpt = { clickable: true, strokeWeight: g.data.routes[current_route].strokeWeight, strokeOpacity: g.data.routes[current_route].strokeOpacity, strokeColor: g.data.routes[current_route].strokeColor}; var iconimage = { url:"http://g3.imapbuilder.net/editor/img/icon/route_marker.gif", size:new google.maps.Size(11,11), origin:new google.maps.Point(0,0), anchor:new google.maps.Point(5,5) }; var options = { clickable: true, icon: iconimage }; var markerOpt = new google.maps.Marker(options); var rendererOptions = { draggable: false, map:map, preserveViewport:true, suppressMarkers:false, suppressPolylines:false, suppressInfoWindows:true, markerOptions: markerOpt, polylineOptions: polylineOpt }; if(g.data.routes[current_route].encodedPath != undefined){ polylineOpt.map=map; polylineOpt.path=google.maps.geometry.encoding.decodePath(g.data.routes[current_route].encodedPath); routes[current_route]=new google.maps.Polyline(polylineOpt); google.maps.event.addListener(routes[current_route], 'click', function(event) { infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng}); if( g.data.options["infoAutoPan"] != undefined) infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]}); infowindow[current_route].open(map); }); google.maps.event.addListener(routes[current_route], 'mouseover', function(event) { infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng}); if( g.data.options["infoAutoPan"] != undefined) infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]}); infowindow[current_route].open(map); }); google.maps.event.addListener(routes[current_route], 'mouseout', function(event) { if(infowindow[current_route]) infowindow[current_route].setMap(null); }); routeID ++ ; current_route++; object_count++; g.loadRouteData(); return; } routes[current_route] = new google.maps.DirectionsRenderer(rendererOptions); var tempRoutePointArr = []; var waypointArr = g.data.routes[current_route].waypoint; for( var j = 0 ; j < waypointArr.length ; j++) { var wpeach = waypointArr[j].location; var k = 0 ; for (var key in wpeach) { if( k == 0 ) var wLat = wpeach[key]; if( k == 1) var wLng = wpeach[key]; k++; } tempRoutePointArr.push({ location: new google.maps.LatLng(wLat, wLng), stopover:waypointArr[j].stopover }); } var k = 0 ; for (var key in g.data.routes[current_route].startLocation) { if( k == 0 ) var sLat = g.data.routes[current_route].startLocation[key]; if( k == 1) var sLng = g.data.routes[current_route].startLocation[key]; k++; } var k = 0 ; for (var key in g.data.routes[current_route].endLocation) { if( k == 0 ) var eLat = g.data.routes[current_route].endLocation[key]; if( k == 1) var eLng = g.data.routes[current_route].endLocation[key]; k++; } g.data.routes[current_route].startLocation = new google.maps.LatLng(sLat,sLng); g.data.routes[current_route].endLocation = new google.maps.LatLng(eLat,eLng); var travelMode = google.maps.DirectionsTravelMode.DRIVING; g.data.routes[current_route].waypoint = tempRoutePointArr; if( g.data.routes[current_route].travelMode != undefined && modeArr[g.data.routes[current_route].travelMode] != undefined) travelMode = modeArr[g.data.routes[current_route].travelMode]; else g.data.routes[current_route].travelMode = 0; var request = { origin: g.data.routes[current_route].startLocation, destination: g.data.routes[current_route].endLocation, waypoints: g.data.routes[current_route].waypoint, travelMode: travelMode }; directionsService.route(request, function(response, status) { if (status == google.maps.DirectionsStatus.OK) { if(routes[current_route] != undefined){ routes[current_route].setDirections(response); g.data.routes[current_route].encodedPath = google.maps.geometry.encoding.encodePath(response.routes[0].overview_path); /* */ var legs = routes[current_route].directions.routes[0].legs; var distance = 0 ; if(legs[0].distance) distance = legs[0].distance.text; var duration = 0 ; // legs[0].duration.text; if(legs[0].duration) duration = legs[0].duration.text; /* var polylineOpt = { clickable: true, strokeWeight: g.data.routes[current_route].strokeWeight, strokeOpacity: g.data.routes[current_route].strokeOpacity, strokeColor: g.data.routes[current_route].strokeColor}; var polyline = new google.maps.Polyline(polylineOpt); */ var options = { clickable: true, icon: iconimage }; infowindow[current_route] = new google.maps.InfoWindow(); var markerOpt = new google.maps.Marker(options); var html = "Travel By "+modeArr[g.data.routes[current_route].travelMode].toLowerCase()+"
"+"Duration: "+ duration +"
"+"Distance: "+distance; google.maps.event.addListener(markerOpt, 'click', function(event) { infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng}); if( g.data.options["infoAutoPan"] != undefined) infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]}); infowindow[current_route].open(map); }); google.maps.event.addListener(markerOpt, 'mouseover', function(event) { infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng}); if( g.data.options["infoAutoPan"] != undefined) infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]}); infowindow[current_route].open(map); }); google.maps.event.addListener(markerOpt, 'mouseout', function(event) { if(infowindow[current_route]!= undefined) infowindow[current_route].setMap(null); }); // for polylines mouseover google.maps.event.addListener(polylineOpt, 'click', function(event) { infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng}); if( g.data.options["infoAutoPan"] != undefined) infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]}); infowindow[current_route].open(map); }); google.maps.event.addListener(polylineOpt, 'mouseover', function(event) { infowindow[current_route] = new google.maps.InfoWindow({content:html,position:event.latLng}); if( g.data.options["infoAutoPan"] != undefined) infowindow[current_route].setOptions({"disableAutoPan": g.data.options["infoAutoPan"]}); infowindow[current_route].open(map); }); google.maps.event.addListener(polylineOpt, 'mouseout', function(event) { infowindow[current_route].setMap(null); }); routes[current_route].setOptions({markerOptions:markerOpt}); /*google.maps.event.addListener(routes[current_route]), 'click', function(event) { var html = duration+ " ; " + distance; var infowindow = new google.maps.InfoWindow({content:html,position:event.latLng}); infowindow.open(map); });*/ } routeID ++ ; current_route++; object_count++; setTimeout(function(){g.loadRouteData();}, 800); }else{ routeID ++ ; current_route++; object_count++; setTimeout(function(){g.loadRouteData();}, 100); } }); }else{ routeID ++ ; current_route++; g.loadRouteData(); } } g.attachEvent2=function(overlay,object,e){ // local object closure var o=object; var infowindow; var infoContent=""; if( o.event[e].infoWindow && o.event[e].infoWindow.options.content) { infoContent=o.event[e].infoWindow.options.content; if(g.expire){ infoContent+='

Powered by iMapBuilder'; } } google.maps.event.addListener(overlay,e,function(event){ //alert(JSON.stringify(o.event[e])); if(o.event[e].infoWindow){ infowindow = new google.maps.InfoWindow(o.event[e].infoWindow.options); infowindow.setPosition(event.latLng); infowindow.setOptions({"content":infoContent}); if( g.data.options["infoAutoPan"] != undefined) infowindow.setOptions({"disableAutoPan": g.data.options["infoAutoPan"]}); infowindow.open(map); //alert(infowindow.toSource()); } if(o.event[e].navigate){ window.open(o.event[e].navigate.href,o.event[e].navigate.target); /*if(o.event[e].navigate.target=='_self'){ location.href=o.event[e].navigate.href; }else{ window.op }*/ } }); if(e=="mouseover"){ if(o.event[e].infoWindow){ google.maps.event.addListener(overlay,'mouseout',function(){ infowindow.close(); }); } } } g.mouseoverEffect=function(overlay, orgColor, overColor){ google.maps.event.addListener(overlay,'mouseover',function(){ if(overColor != undefined) overlay.setOptions({"fillColor":overColor}); }); google.maps.event.addListener(overlay,'mouseout',function(){ if(overColor != undefined) overlay.setOptions({"fillColor":orgColor}); }); } g.loadCircles=function(){ if( g.data.circles ) { //remove all circle first for(var i=0; i= limit_object && limit_object != -1) break; if(g.data.circles[i]!=null){ if ( g.data.catlegendenable === true ) { if ( !allCategoryArr.contains(g.data.circles[i].catID) ) {} else if (g.data.circles[i].catID != undefined && g.data.circles[i].catID != -1 && !categoryArr.contains(g.data.circles[i].catID) ) continue; } var options={}; for(var j in g.data.circles[i].options){ if(typeof(g.data.circles[i].options[j])!='object'){ options[j]=g.data.circles[i].options[j]; } } options.map = map; options.center = []; options.center =new google.maps.LatLng(g.data.circles[i].options.center[0],g.data.circles[i].options.center[1]); options.radius = []; options.radius = g.data.circles[i].options.radius; circles[i]=new google.maps.Circle(options); for(var j in g.data.circles[i].event){ g.attachEvent2(circles[i],g.data.circles[i],j); } object_count++; } } } } g.loadRectangles=function(){ if( g.data.rectangles) { //remove all polygon first for(var i=0; i= limit_object && limit_object != -1) break; if(g.data.rectangles[i]!=null){ if ( g.data.catlegendenable === true ) { if ( !allCategoryArr.contains(g.data.rectangles[i].catID) ) {} else if ( g.data.rectangles[i].catID != undefined && g.data.rectangles[i].catID != -1 && !categoryArr.contains(g.data.rectangles[i].catID) ) continue; } var options={}; for(var j in g.data.rectangles[i].options){ if(typeof(g.data.rectangles[i].options[j])!='object'){ options[j]=g.data.rectangles[i].options[j]; } } options.map=map; var rectangleBoundsSW = new google.maps.LatLng(g.data.rectangles[i].options.bounds[0],g.data.rectangles[i].options.bounds[1]); var rectangleBoundsNE = new google.maps.LatLng(g.data.rectangles[i].options.bounds[2],g.data.rectangles[i].options.bounds[3]); var rectangleBounds = new google.maps.LatLngBounds(rectangleBoundsSW , rectangleBoundsNE); options.bounds=[]; options.bounds=rectangleBounds; rectangles[i]=new google.maps.Rectangle(options); for(var j in g.data.rectangles[i].event){ g.attachEvent2(rectangles[i],g.data.rectangles[i],j); } object_count++; } } } } g.loadPolygons=function(){ //console.log("loadPolygons() start"); if ( g.data.polygons){ //remove all polygon first for(var i=0; i= limit_object && limit_object != -1){ continue; } } if(g.data.polygons[i]!=null){ if(g.data.polygons[i].options.encodedPath == undefined || g.data.polygons[i].options.encodedPath == "") continue; if ( g.data.catlegendenable === true ) { if ( !allCategoryArr.contains(g.data.polygons[i].catID) ) {} else if (g.data.polygons[i].catID != undefined && g.data.polygons[i].catID != -1 && !categoryArr.contains(g.data.polygons[i].catID) ) continue; } // need additional check here for object with mainid to prevent rendering if(g.data.polygons[i].options.mainid!=undefined ){ var mainid = g.data.polygons[i].options.mainid; if (g.data.polygons[mainid].catID != undefined && g.data.polygons[mainid].catID != -1 && typeof categoryArr!="undefined" && !categoryArr.contains(g.data.polygons[mainid].catID) ) continue; } var options={}; for(var j in g.data.polygons[i].options){ if(typeof(g.data.polygons[i].options[j])!='object'){ options[j]=g.data.polygons[i].options[j]; } } options.map=map; options.path=[]; options.path=google.maps.geometry.encoding.decodePath(g.data.polygons[i].options.encodedPath); polygons[i]=new google.maps.Polygon(options); // if Heat Map if( g.data.polygons[i].options.regionID != undefined && g.data.heatmap != undefined && g.data.heatmap.enable == true ){ if( g.data.heatmap.color !=undefined ){ if(g.data.heatmap.color == "contin"){ polygons[i].setOptions({"fillColor":g.heatMapContinColorValue(g.getHeatMapValue(g.data.polygons[i].options.regionID))}); // add mouseover color heatmap enable //if(g.data.polygons[i].options.overColor != undefined) // g.mouseoverEffect(polygons[i], g.heatMapContinColorValue(g.getHeatMapValue(g.data.polygons[i].options.regionID)), g.data.polygons[i].options.overColor); }else if(g.data.heatmap.color == "discrete"){ polygons[i].setOptions({"fillColor":g.heatMapDiscreteColorValue(g.getHeatMapValue(g.data.polygons[i].options.regionID))}); // add mouseover color heatmap enable //if(g.data.polygons[i].options.overColor != undefined) // g.mouseoverEffect(polygons[i], g.heatMapDiscreteColorValue(g.getHeatMapValue(g.data.polygons[i].options.regionID)), g.data.polygons[i].options.overColor); } } } else { // add mouseover color heatmap disenable //if(g.data.polygons[i].options.overColor != undefined) // g.mouseoverEffect(polygons[i], g.data.polygons[i].options.fillColor, g.data.polygons[i].options.overColor); } // for sub polygons if(g.data.polygons[i].options.mainid!=undefined ){ var mainid = g.data.polygons[i].options.mainid; for(var j in g.data.polygons[mainid].event){ g.attachEvent2(polygons[i],g.data.polygons[mainid],j); } } for(var j in g.data.polygons[i].event){ g.attachEvent2(polygons[i],g.data.polygons[i],j); } if(g.data.polygons[i].options.isRegions==undefined || g.data.polygons[i].options.isRegions!=true) object_count++; } } } //console.log("loadPolygons() finish"); } g.loadPolylines=function() { if(g.data.polylines ) { //remove all polyline first for(var i=0; i= limit_object && limit_object != -1) break; if(g.data.polylines[i]!=null){ if ( g.data.catlegendenable === true ) { if ( !allCategoryArr.contains(g.data.polylines[i].catID) ) {} else if ( g.data.polylines[i].catID != undefined && g.data.polylines[i].catID != -1 && !categoryArr.contains(g.data.polylines[i].catID) ) continue; } var options={}; for(var j in g.data.polylines[i].options){ if(typeof(g.data.polylines[i].options[j])!='object'){ options[j]=g.data.polylines[i].options[j]; } } options.map=map; options.path=google.maps.geometry.encoding.decodePath(g.data.polylines[i].options.encodedPath); polylines[i]=new google.maps.Polyline(options); object_count++; } } } } g.loadLegend=function(){ var map_div = document.getElementById('gmap_'+g.data.fileid+''); if(g.data.legends != undefined ){ for(var i=0; i= 87 ) l_content+= '
'; else if ( g.data.legends[i].items[j].imageUrl >= 75 ) l_content+= '
'; else if(g.data.legends[i].items[j].imageUrl >= 72 ) l_content+= '
'; else l_content+= '
'; }else l_content+= '
'; l_content+= ''; l_content+=''; lCount++; } } l_content+=''; } l_content += '
'; legend_div.innerHTML=l_content; if ( g.data.legends[i].items.length > 0 || g.data.legends[i].name != undefined) map_div.appendChild(legend_div); } } } } g.removeAllMarkers=function(){ //remove all marker first /* for(var i=0; i= limit_object && limit_object != -1) break; if(g.data.markers[i]!=undefined){ if ( g.data.catlegendenable === true ) { if ( !allCategoryArr.contains(g.data.markers[i].catID) ) {}else if ( g.data.markers[i].catID != undefined && g.data.markers[i].catID != -1 && !categoryArr.contains(g.data.markers[i].catID) ) continue; } for(var j in g.data.markers[i].options){ if(typeof(g.data.markers[i].options[j])!='object'){ options[j]=g.data.markers[i].options[j]; } } options.markerid = i; var iconid=g.data.markers[i].iconid; options.iconid = iconid; if( !isNaN(iconid) ) //options.icon=new google.maps.MarkerImage('http://g3.imapbuilder.net/_api/img/marker/'+iconid,new google.maps.Size(g.iconlist[iconid].imagew,g.iconlist[iconid].imageh),new google.maps.Point(g.iconlist[iconid].imageox,g.iconlist[iconid].imageoy),new google.maps.Point(g.iconlist[iconid].imageax,g.iconlist[iconid].imageay)); options.icon={url:'http://g3.imapbuilder.net/_api/img/marker/'+iconid,size:new google.maps.Size(35,35),origin:new google.maps.Point(parseInt(g.iconlist[iconid].imageox),parseInt(g.iconlist[iconid].imageoy)),anchor:new google.maps.Point(parseInt(g.iconlist[iconid].imageax),parseInt(g.iconlist[iconid].imageay))}; else { /* var newImg = new Image(); newImg.src = iconid; var height = newImg.height; var width = newImg.width; options.icon=new google.maps.MarkerImage( iconid, new google.maps.Size(width,height), new google.maps.Point(0,0), new google.maps.Point(width/2,height) ); */ options.icon={url:iconid,size:new google.maps.Size(35,35),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17.5,35)}; } options.map=map; options.position=new google.maps.LatLng(g.data.markers[i].options.position[0],g.data.markers[i].options.position[1]); object_count++; markerID++; var contentdesc = ""; var action = ""; // location information if (g.data.markers[i].event != undefined){ if (g.data.markers[i].event.click != undefined) { if (g.data.markers[i].event.click.infoWindow != undefined) { contentdesc = g.data.markers[i].event.click.infoWindow.options.content; action="click"; } }else if (g.data.markers[i].event.mouseover != undefined) { if (g.data.markers[i].event.mouseover.infoWindow != undefined) { contentdesc = g.data.markers[i].event.mouseover.infoWindow.options.content; action="over"; } } } if( gmap_locationdetails != undefined ){ g.addOrgMarkerToList(i, iconid, g.data.markers[i].options.title, contentdesc, action); } options.desc = g.convertHtmlToText(contentdesc); markers[i]=new google.maps.Marker(options); // for marker's event, create closures for(var j in g.data.markers[i].event){ g.attachEvent(markers[i],g.data.markers[i],j); } // for custom project map id = 5990 } } } } g.loadClustering=function(){ if(g.data.clustering===true){ var clustering_gridsize = g.data.clustering_gridsize; var clustering_maxzoom = g.data.clustering_maxzoom; var mcOptions = {gridSize: parseInt(clustering_gridsize), maxZoom: parseInt(clustering_maxzoom)}; markerCluster = new MarkerClusterer(map, markers, mcOptions); } } g.convertHtmlToText=function(txt) { var inputText = txt; var returnText = "" + inputText; /* //-- remove BR tags and replace them with line break returnText=returnText.replace(/
/gi, "\n"); returnText=returnText.replace(//gi, "\n"); returnText=returnText.replace(//gi, "\n"); //-- remove P and A tags but preserve what's inside of them returnText=returnText.replace(//gi, "\n"); returnText=returnText.replace(/(.*?)<\/a>/gi, " $2 ($1)"); */ //-- remove all inside SCRIPT and STYLE tags returnText=returnText.replace(/[\w\W]{1,}(.*?)[\w\W]{1,}<\/script>/gi, ""); returnText=returnText.replace(/[\w\W]{1,}(.*?)[\w\W]{1,}<\/style>/gi, ""); //-- remove all else returnText=returnText.replace(/<(?:.|\s)*?>/g, ""); /* //-- get rid of more than 2 multiple line breaks: returnText=returnText.replace(/(?:(?:\r\n|\r|\n)\s*){2,}/gim, "\n\n"); //-- get rid of more than 2 spaces: returnText = returnText.replace(/ +(?= )/g,''); //-- get rid of html-encoded characters: returnText=returnText.replace(/ /gi," "); returnText=returnText.replace(/&/gi,"&"); returnText=returnText.replace(/"/gi,'"'); returnText=returnText.replace(/</gi,'<'); returnText=returnText.replace(/>/gi,'>'); */ var maxLen= 180 ; if (returnText.length > maxLen) { returnText = returnText.substring(0, maxLen) + "..."; } //-- return return returnText; } g.attachEvent=function(overlay,object,e){ // local object closure var o=object; var infowindow; var infoContent=""; if( o.event[e].infoWindow && o.event[e].infoWindow.options.content) { infoContent=o.event[e].infoWindow.options.content; if(g.expire){ infoContent+='

Powered by iMapBuilder'; } } google.maps.event.addListener(overlay,e,function(){ console.debug(o.event[e].infoWindow.options.maxWidth); if(o.event[e].infoWindow){ /*if ( o.event[e].infoWindow.options.maxWidth == undefined) o.event[e].infoWindow.options.maxWidth = 0 ;*/ if(o.event[e].infoWindow.options.maxWidth==0){ delete o.event[e].infoWindow.options.maxWidth; } infowindow=new google.maps.InfoWindow(o.event[e].infoWindow.options); infowindow.setOptions({"content":infoContent}); if( g.data.options["infoAutoPan"] != undefined) infowindow.setOptions({"disableAutoPan": g.data.options["infoAutoPan"]}); if(o.event[e].infoWindow.options.maxWidth!=undefined){ infowindow.setOptions({"maxWidth": parseInt(o.event[e].infoWindow.options.maxWidth) }); } infowindow.open(map,overlay); } if(o.event[e].navigate){ window.open(o.event[e].navigate.href,o.event[e].navigate.target); /*if(o.event[e].navigate.target=='_self'){ location.href=o.event[e].navigate.href; }else{ window.op //here }*/ } }); if(e=="mouseover"){ if(o.event[e].infoWindow){ google.maps.event.addListener(overlay,'mouseout',function(){ infowindow.close(); }); } } } g.loadLabelNImage=function(){ /* ----- for draw label ----- */ function Label(opt_options, latlng, content, visible, clickable, border,bordercolor, background, font_color, font_size) { // Initialization this.setValues(opt_options); this.latLng_ = latlng; this.content_ = content; this.visible_ = visible; this.clickable_ = clickable; this.zIndex_ = 1; this.border_ = border; this.borderColor_ = bordercolor; this.bg_ = background; this.fontColor_ = font_color; this.fontSize_ = font_size; // Label specific var span = this.span_ = document.createElement('span'); span.style.cssText = 'position: relative; left: -50%; top: -8px; white-space: nowrap; padding: 2px; ' + 'border: '+this.border_+'px solid #'+this.borderColor_+'; ' + 'background-color: '+this.bg_ +';'+ 'color:'+ this.fontColor_+ ';'+ 'font-size: '+this.fontSize_+'px;'; var div = this.div_ = document.createElement('div'); div.appendChild(span); div.style.cssText = 'position: absolute; display: none'; }; Label.prototype = new google.maps.OverlayView; // Implement onAdd Label.prototype.onAdd = function() { var pane = this.getPanes().overlayImage; pane.appendChild(this.div_); }; // Implement onRemove Label.prototype.onRemove = function() { this.div_.parentNode.removeChild(this.div_); }; // Implement draw Label.prototype.draw = function() { var projection = this.getProjection(); var position = projection.fromLatLngToDivPixel(this.latLng_); this.span_.style.cssText = 'position: relative; left: -50%; top: -8px; white-space: nowrap; padding: 2px; ' + 'border: '+this.border_+'px solid '+this.borderColor_+'; ' + 'background-color: '+this.bg_ +';'+ 'color:'+ this.fontColor_+ ';'+ 'font-size: '+this.fontSize_+'px;'; this.span_.innerHTML = this.content_; var div = this.div_; div.style.left = position.x+'px'; div.style.top = position.y+'px'; var visible = this.visible_; div.style.display = visible ? 'block' : 'none'; var clickable = this.clickable_; this.span_.style.cursor = clickable ? 'pointer' : ''; var zIndex = this.zIndex_; div.style.zIndex = zIndex; }; /* ----- for draw images ----- */ function OverlayImage(opt_options, latlng, imageUrl, visible, clickable, border, bordercolor, width, height) { // Initialization this.setValues(opt_options); this.latLng_ = latlng; this.imageUrl_ = imageUrl; this.visible_ = visible; this.clickable_ = clickable; this.zIndex_ = 1; this.border_ = border; this.borderColor_ = bordercolor; if( width == "") this.width_ = "100" ; else this.width_ = width; if( height == "") this.height_ = "100" ; else this.height_ = height; var top_pos = Number(this.height_/2) + Number(this.border_); // OverlayImage specific var span = this.span_ = document.createElement('div'); span.style.cssText = 'position: relative; left: -50%; top: -'+ top_pos +'px; ' + 'border: '+this.border_+'px solid #'+this.borderColor_+'; ' + 'width:'+this.width_+'px; height:'+this.height_+'px; '; var div = this.div_ = document.createElement('div'); div.appendChild(span); div.style.cssText = 'position: absolute; display: none'; }; OverlayImage.prototype = new google.maps.OverlayView(); // Implement onAdd OverlayImage.prototype.onAdd = function() { var pane = this.getPanes().overlayImage; pane.appendChild(this.div_); var me = this; // Ensures the label is redrawn if the text or position is changed. /* this.listeners_ = [ google.maps.event.addDomListener(this.div_, 'click', function() { if (me.clickable_) { google.maps.event.trigger(me, 'click'); } }) ]; */ }; // Implement onRemove OverlayImage.prototype.onRemove = function() { this.div_.parentNode.removeChild(this.div_); }; // Implement draw OverlayImage.prototype.draw = function() { var projection = this.getProjection(); var position = projection.fromLatLngToDivPixel(this.latLng_); var top_pos = Number(this.height_/2) + Number(this.border_); this.span_.style.cssText = 'position: relative; left: -50%; top: -'+ top_pos +'px; ;' + 'border: '+this.border_+'px solid '+this.borderColor_+'; '+ 'width:'+this.width_+'px; height:'+this.height_+'px; '; this.span_.innerHTML = ''; var div = this.div_; div.style.left = position.x+'px'; div.style.top = position.y+'px'; var visible = this.visible_; div.style.display = visible ? 'block' : 'none'; var clickable = this.clickable_; this.span_.style.cursor = clickable ? 'pointer' : ''; var zIndex = this.zIndex_; div.style.zIndex = zIndex; }; function loadLabels(){ //remove all label first if(g.data.labels != undefined ){ for(var i=0; i= limit_object && limit_object != -1) break; if(g.data.labels[i]!=undefined){ if ( g.data.catlegendenable === true ) { if ( !allCategoryArr.contains(g.data.labels[i].catID) ) {}else if ( g.data.labels[i].catID != undefined && g.data.labels[i].catID != -1 && !categoryArr.contains(g.data.labels[i].catID) ) continue; } for(var j in g.data.labels[i].options){ if(typeof(g.data.labels[i].options[j])!='object'){ options[j]=g.data.labels[i].options[j]; } } options.map = map; options.title = g.data.labels[i].options.title; var visible = g.data.labels[i].options.visible; var clickable = g.data.labels[i].options.clickable; var title = g.data.labels[i].options.title; var border = g.data.labels[i].options.border; var bordercolor = g.data.labels[i].options.bordercolor; var bg = g.data.labels[i].options.bg; var font_color = g.data.labels[i].options.font_color; var font_size = g.data.labels[i].options.font_size; options.position=new google.maps.LatLng(g.data.labels[i].options.position[0],g.data.labels[i].options.position[1]); labels[i] = new Label( options, options.position, title , visible, clickable, border, bordercolor,bg,font_color, font_size ); object_count++; } } } } function loadImages() { if(g.data.images != undefined ){ for(var i=0; i= limit_object && limit_object != -1) break; if(g.data.images[i]!=undefined){ if ( g.data.catlegendenable === true ) { if ( !allCategoryArr.contains(g.data.images[i].catID) ) {}else if ( g.data.images[i].catID != undefined && g.data.images[i].catID != -1 && !categoryArr.contains(g.data.images[i].catID) ) continue; } for(var j in g.data.images[i].options){ if(typeof(g.data.images[i].options[j])!='object'){ options[j]=g.data.images[i].options[j]; } } options.map = map; options.title = g.data.images[i].options.title; var visible = g.data.images[i].options.visible; var clickable = g.data.images[i].options.clickable; var imageUrl = g.data.images[i].options.title; var border = g.data.images[i].options.border; var bordercolor = g.data.images[i].options.bordercolor; var width = g.data.images[i].options.width; var height = g.data.images[i].options.height; options.position=new google.maps.LatLng(g.data.images[i].options.position[0],g.data.images[i].options.position[1]); images[i] = new OverlayImage( options, options.position, imageUrl , visible, clickable, border, bordercolor,width,height ); object_count++; } } } } //label loadLabels(); //images loadImages(); } g.addOrgMarkerToList=function(i, iconid, title, desc, action){ if( (g.data.datalist.position != "" ) && (g.data.datalist.showmarkers == 0 || g.data.datalist.showmarkers == 1) ){ var table=document.createElement("table"); table.style.width="100%"; table.style.borderBottom="1px solid #DDD"; table.style.margin="5px 0px "; table.id="markers_"+i+"_"+action; tr=document.createElement("tr"); tr.id="markers_"+i; td=document.createElement("td"); td.align="center"; td.vAlign="top"; td.style.padding="3px 5px"; td.width="50px"; img=document.createElement("img"); img.style.border= '0px'; if( !isNaN(iconid) ) img.src='http://g3.imapbuilder.net/_api/img/marker/'+iconid; else img.src=iconid; td.appendChild(img); tr.appendChild(td); td=document.createElement("td"); div=document.createElement("div"); div.innerHTML=''+g.data.markers[i].options.title+'
'; var contentdesc = ""; if (g.data.markers[i].event != undefined){ if (g.data.markers[i].event.click != undefined) { if (g.data.markers[i].event.click.infoWindow != undefined) { contentdesc = g.data.markers[i].event.click.infoWindow.options.content; tr.id+="_click"; } }else if (g.data.markers[i].event.mouseover != undefined) { if (g.data.markers[i].event.mouseover.infoWindow != undefined) { contentdesc = g.data.markers[i].event.mouseover.infoWindow.options.content; tr.id+="_over"; } } } div.innerHTML+=''+g.convertHtmlToText(contentdesc)+''; td.appendChild(div); tr.appendChild(td); table.onmouseover=function(){ this.style.background="#FFF"; } table.onmouseout=function(){ this.style.background=""; } table.onclick=function(){ if ( this.id.split("_")[2] != undefined){ if(this.id.split("_")[2] == "click") google.maps.event.trigger(markers[this.id.split("_")[1]], "click"); else if(this.id.split("_")[2] == "over") google.maps.event.trigger(markers[this.id.split("_")[1]], "mouseover"); } } table.appendChild(tr); gmap_locationdetails.appendChild(table); } } g.reloadObject=function(){ //console.log("reloadObject() start"); if ( g.data.crowdmap.clenable == true || g.data.catlegendenable === true){ categoryArr = []; allCategoryArr = []; markerID=0; object_count=0 ; var cl_list = document.getElementById('categorylegend_list'); var chk = cl_list.getElementsByTagName('input'); var chkLen = chk.length; for (var i = 0; i < chkLen; i++) { if (chk[i].type === 'checkbox' && chk[i].checked === true) { categoryArr.push(chk[i].value); } allCategoryArr.push(chk[i].value); } if(g.data.clustering===true){ markerCluster.clearMarkers(); } // load object g.removeAllMarkers(); g.loadMarkers(); if(g.data.crowdmap.mode=="edit" || g.data.crowdmap.mode=="view") g.drawCrowdMarker(); g.loadLabelNImage(); //polylines g.loadPolylines(); //polygons g.loadPolygons(); //rectangle g.loadRectangles(); //circle g.loadCircles(); //route g.loadRoutes(); g.loadLegend(); g.loadClustering(); } //console.log("reloadObject() finish"); } // crowd map submit report g.submitLocation=function(){ var ajax_form=document.getElementById('ajax_form'); ajax_form.action='/_api/addlocation.php'; ajax_form.target='ajax_iframe'; if( document.getElementById('crowd_address').value == ""){ g.showMessage("Please Enter Address or Latitude/ Longitude", "#FF0000", "#FFF"); return; } if( document.getElementById('crowd_description').value == "" ){ g.showMessage("Please Enter Description!", "#FF0000", "#FFF"); return; } var fullAddress=document.getElementById('crowd_address').value; map_geocoder.geocode({'address':fullAddress, 'bounds': map.getBounds()},function(results,status){ if(status==google.maps.GeocoderStatus.OK){ var locationLat = results[0].geometry.location.lat(); var locationLng = results[0].geometry.location.lng(); var formattedAddress=results[0].formatted_address; var description = document.getElementById('crowd_description').value; var username = document.getElementById('crowd_username').value; document.getElementById("ca_latlng").value=locationLat+','+locationLng; document.getElementById("ca_address").value=formattedAddress; //document.getElementById("ca_address").value=fullAddress; document.getElementById("ca_mapid").value=g.data.fileid; document.getElementById("ca_usertype").value=document.getElementById('crowd_usertype').value; document.getElementById("ca_userid").value=document.getElementById('crowd_userid').value; document.getElementById("ca_username").value=document.getElementById('crowd_username').value; document.getElementById("ca_useremail").value=document.getElementById('crowd_useremail').value; document.getElementById("ca_description").value=description; ajax_form.submit(); //alert('Add Location Success'); }else{ g.showMessage("Address is not correct!", "#FF0000", "#FFF"); //alert('Add Location Fail'); } }); } // login with facebook , google, twitter, email g.loginFacebook=function(){ opened_window = window.open('https://www.facebook.com/dialog/oauth/?client_id=391367400907909&redirect_uri=http://g3.imapbuilder.net/_map/get_facebook.php&state='+g.data.fileid+'_1905f6e1d418ebf0da57712a9975adaf&scope=email&response_type=token','fboauth_window','width=860,height=540'); g.removeCrowdForm(); } g.loginGoogle=function(){ opened_window = window.open('https://accounts.google.com/o/oauth2/auth?'+ 'response_type=code'+ '&redirect_uri=http%3A%2F%2Fg3.imapbuilder.net%2F_map%2Fgoogleapi'+ '&client_id=17030872649-20f1n1b2fojm8ksfgdt0dj9oinmtjosl.apps.googleusercontent.com'+ '&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile'+ '&approval_prompt=force&state='+g.data.fileid+'','google_oauth_window','width=860,height=540'); g.removeCrowdForm(); } g.loginTwitter=function(){ opened_window = window.open('http://g3.imapbuilder.net/_map/twitterapi/redirect.php?mapid='+g.data.fileid+'','google_oauth_window','width=860,height=540'); g.removeCrowdForm(); } g.loginEmail=function(){ if( document.getElementById("customName").value == ""){ alert('Please provide your Name'); }else if( document.getElementById("customEmail").value == "" ){ alert('Please provide your Email Address'); }else if( !g.checkEmail(document.getElementById("customEmail").value) ){ alert('Please provide a valid Email Address'); }else{ opened_window = window.open('http://g3.imapbuilder.net/_map/new_user.php?mapid='+g.data.fileid+'&email='+document.getElementById("customEmail").value+'&name='+document.getElementById("customName").value,'google_oauth_window','width=860,height=540'); g.removeCrowdForm(); } } g.checkEmail=function(email) { var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; if (!filter.test(email)) { return false; }else{ return true; } } g.updateCS=function(userName){ opened_window.document.getElementById('cs_title').innerHTML = cs_title; opened_window.document.getElementById('crowd_userinfo').innerHTML = cs_loginas + " "+ userName; opened_window.document.getElementById('cs_address').innerHTML = cs_address; opened_window.document.getElementById('cs_desc').innerHTML = cs_desc; opened_window.window.centermap(g.data.options.center[0],g.data.options.center[1], g.data.options.zoom); } // add crowd markers g.addCrowdMarker=function(cmarkerid, latLng, AddressName, description,uid, username, usertype, email, date, isNew){ // center location on the map var location = new google.maps.LatLng(latLng.split(",")[0], latLng.split(",")[1]); if( isNew == true){ map.setCenter(location); } cmarkerid=markerID; var infowindow = new google.maps.InfoWindow(); var iconpath = ""; if( !isNaN(g.data.crowdmap.markericon) ) iconpath='http://g3.imapbuilder.net/_api/img/marker/'+g.data.crowdmap.markericon; else iconpath=g.data.crowdmap.markericon; markers[cmarkerid] = new google.maps.Marker({ map: map, animation: google.maps.Animation.DROP, position: location, icon: {url:iconpath,size:new google.maps.Size(35,35),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17.5,35)}, title: AddressName }); google.maps.event.addListener(markers[cmarkerid], 'click',function(event){ var userImagePath=''; var userDesc=''+description+''; var userAddress=''+AddressName+''; var userName=''+username+''; if(usertype=="google") userImagePath='https://profiles.google.com/s2/photos/profile/'+uid; else if(usertype=="facebook") userImagePath='https://graph.facebook.com/'+uid+'/picture'; else if(usertype=="twitter") userImagePath='https://api.twitter.com/1/users/profile_image?screen_name='+email+'&size=normal'; else userImagePath='http://g3.imapbuilder.net/editor/img/crowd/emailuser.png'; var userTypeIcon=''; if(usertype=="google") userTypeIcon=''; else if(usertype=="facebook") userTypeIcon=''; else if(usertype=="twitter") userTypeIcon=''; else userTypeIcon=''; var userDate=''+date+''; var infoContent=''; infoContent=''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
'+userTypeIcon+' '+userName+'
'+userAddress+'
'+userDesc+'
'+userDate+'
'; infowindow.setContent(infoContent); infowindow.open(map, markers[cmarkerid]); }); markerID++; crowdMarkersId++; if( isNew == true){ var crowdMarkerCount = crowdMarkersData.length; crowdMarkersData[crowdMarkerCount]={}; crowdMarkersData[crowdMarkerCount].address=AddressName; crowdMarkersData[crowdMarkerCount].latlng =location.lat()+","+location.lng(); crowdMarkersData[crowdMarkerCount].userid =uid; crowdMarkersData[crowdMarkerCount].email =email; crowdMarkersData[crowdMarkerCount].username =username; crowdMarkersData[crowdMarkerCount].username =usertype; crowdMarkersData[crowdMarkerCount].description =description; crowdMarkersData[crowdMarkerCount].date =date; crowdMarkersData[crowdMarkerCount].isapproved = "1"; } g.addCrowdMarkerToList(g.data.crowdmap.markericon, AddressName, description,uid, username, usertype,email, date, markers[cmarkerid], cmarkerid, isNew); } // add markers to data list g.addCrowdMarkerToList=function(iconid, address, description,uid, username, usertype,email, date, obj, i){ if( (g.data.datalist.position != "") && (g.data.datalist.showmarkers == 0 || g.data.datalist.showmarkers == 2) ){ if( gmap_locationdetails != undefined ){ var table=document.createElement("table"); table.style.width="100%"; table.style.borderBottom="1px solid #DDD"; table.style.margin="5px 0px "; table.id="markers_"+i; table.style.cursor="pointer"; tr=document.createElement("tr"); tr.style.cursor="pointer"; td=document.createElement("td"); td.align="center"; td.vAlign="top"; td.width="50px"; td.rowSpan="4"; td.style.padding="3px 5px"; td.style.verticalAlign="top"; img=document.createElement("img"); img.style.border= '0px'; img.style.width= '50px'; img.style.height= '50px'; if(usertype=="google") img.src='https://profiles.google.com/s2/photos/profile/'+uid; else if(usertype=="facebook") img.src='https://graph.facebook.com/'+uid+'/picture'; else if(usertype=="twitter") img.src='https://api.twitter.com/1/users/profile_image?screen_name='+email+'&size=normal'; else img.src='http://g3.imapbuilder.net/editor/img/crowd/emailuser.png'; td.appendChild(img); tr.appendChild(td); table.appendChild(tr); table.id="markers_"+i; tr=document.createElement("tr"); // description td=document.createElement("td"); td.colSpan="2"; td.vAlign="top"; div=document.createElement("div"); div.innerHTML=''+g.convertHtmlToText(description)+'
'; td.appendChild(div); tr.appendChild(td); table.appendChild(tr); tr=document.createElement("tr"); // social icon td=document.createElement("td"); td.vAlign="top"; td.width="12px"; div=document.createElement("div"); div.innerHTML=''; if(usertype=="google") div.innerHTML+=''; else if(usertype=="facebook") div.innerHTML+=''; else if(usertype=="twitter") div.innerHTML+=''; else div.innerHTML+=''; td.appendChild(div); tr.appendChild(td); // name td=document.createElement("td"); td.vAlign="top"; div=document.createElement("div"); div.innerHTML=' '+ ''+username + '
'; td.appendChild(div); tr.appendChild(td); table.appendChild(tr); // pin icon tr=document.createElement("tr"); td=document.createElement("td"); td.vAlign="top"; td.width="12px"; div=document.createElement("div"); var contentAdd = address; var imapath = ""; if( !isNaN(iconid) ) imapath='http://g3.imapbuilder.net/_api/img/marker/'+iconid; else imapath=iconid; div.innerHTML=' '; td.appendChild(div); tr.appendChild(td); // address td=document.createElement("td"); td.vAlign="top"; div=document.createElement("div"); div.innerHTML=''+ contentAdd+ ''; td.appendChild(div); tr.appendChild(td); table.appendChild(tr); //div.innerHTML+='
' + date+ ''; tr=document.createElement("tr"); // empty td=document.createElement("td"); tr.appendChild(td); // clock icon& time td=document.createElement("td"); td.vAlign="bottom"; if( g.data.datalist.position=="right"||g.data.datalist.position=="left" ) td.align="left"; else if( g.data.datalist.position=="top"||g.data.datalist.position=="bottom" ) td.align="right"; td.colSpan="2"; td.innerHTML=' ' + date+ '';; tr.appendChild(td); table.appendChild(tr); // setup the mouse over effect table.onmouseover=function(){ this.style.background="#FFF"; } table.onmouseout=function(){ this.style.background=""; } table.onclick=function(){ google.maps.event.trigger(obj, "click"); } //gmap_locationdetails.appendChild(table); var markerlist = document.getElementById('gmap_locationdetails'); if( markerlist.getElementsByTagName('table').length > 0 ){ var t= markerlist.getElementsByTagName('table')[0]; markerlist.insertBefore(table, t); }else{ gmap_locationdetails.appendChild(table); } } } } g.drawCrowdMarker=function(){ for( var i=0; i= limit_object && limit_object != -1) break; if ( crowdMarkersData[i].catID != undefined && crowdMarkersData[i].catID != -1 && !categoryArr.contains(crowdMarkersData[i].catID) ) continue; } g.addCrowdMarker(crowdMarkersId, crowdMarkersData[i].latlng, crowdMarkersData[i].address, crowdMarkersData[i].description,crowdMarkersData[i].userid, crowdMarkersData[i].username, crowdMarkersData[i].usertype, crowdMarkersData[i].email, crowdMarkersData[i].date, false); object_count++; } } } // create & remove dark background g.createModel=function(){ var map_div = document.getElementById('gmap_'+g.data.fileid); map_div.appendChild(modal_div); } g.removeModel=function(){ if(document.getElementById("modal_div")) { var map_div = document.getElementById('gmap_'+g.data.fileid); var md = document.getElementById("modal_div"); map_div.removeChild(md); } } // add a submit form g.addCrowdForm=function(){ g.createModel(); if(document.getElementById("crowdForm_div")){ document.getElementById("crowdForm_div").style.display="block"; }else{ crowdForm_div=document.createElement("div"); crowdForm_div.id="crowdForm_div"; crowdForm_div.style.position="absolute"; crowdForm_div.style.top="20%"; crowdForm_div.style.left="25%"; crowdForm_div.style.right="25%"; crowdForm_div.style.backgroundColor="#F0F0F0"; crowdForm_div.style.borderWidth="1px"; crowdForm_div.style.borderColor="#CCC"; crowdForm_div.style.borderStyle="solid"; crowdForm_div.style.display='block'; crowdForm_div.style.zIndex="2"; crowdForm_div.style.borderRadius="5px"; crowdForm_div.align="center"; var ci_style=""; var loginCount = 0 ; var loginFacebook = ''; var loginGoogle = ''; var loginTwitter = ''; var loginOR =''; var loginEmail = ''; if( g.data.crowdmap.login == undefined || g.data.crowdmap.login.facebook ) { loginFacebook='
'; loginCount++; } if( g.data.crowdmap.login == undefined || g.data.crowdmap.login.google ) { loginGoogle='
'; loginCount++ } if( g.data.crowdmap.login == undefined || g.data.crowdmap.login.twitter ){ /*loginTwitter = '
'; loginCount++;*/ } if( g.data.crowdmap.login == undefined || g.data.crowdmap.login.email ){{ loginOR = '
'; if( g.data.crowdmap.login == undefined || loginCount >0) loginOR +='or '; loginOR += 'Enter your name and email
'; loginEmail = ''+ ''+ ''+ ''+ '
Name:
Email:
'+ ''+ ''+ '
'; loginCount++; } } var content=""; content+='
'+ '
'+ '
'+ '
'+cs_title+'
'+ '
'+ '
'+ //'
Login
'+ '
'+ loginFacebook+ loginGoogle+ loginTwitter+ '
'+ loginOR+ loginEmail+ '
'+ ''+ '
'; crowdForm_div.innerHTML=content; if(true || g.data.crowdmap.mode=="edit" ){ if ( document.getElementById('gmap_'+g.data.fileid) ) { var map_div = document.getElementById('gmap_'+g.data.fileid); map_div.appendChild(crowdForm_div); } } } } g.removeCrowdForm=function(){ g.removeModel(); if(document.getElementById("crowdForm_div")) { //var map_div = document.getElementById('gmap_'+g.data.fileid); //var cf = document.getElementById("crowdForm_div"); //map_div.removeChild(cf); document.getElementById("crowdForm_div").style.display="none"; } } g.addMore=function(){ document.getElementById('crowd_done').style.display="none"; document.getElementById('crowd_input').style.display="block"; document.getElementById('crowd_inputdata').style.display="block"; } // add temp marker for user to set location g.addLocationMarker=function(){ if( !isNaN(g.data.crowdmap.markericon) ) iconpath='http://g3.imapbuilder.net/_api/img/marker/'+g.data.crowdmap.markericon; else iconpath=g.data.crowdmap.markericon; tempMarker = new google.maps.Marker({ map: map, animation: google.maps.Animation.DROP, position: map.getCenter(), icon: {url:iconpath,size:new google.maps.Size(35,35),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17.5,35)}, draggable: true }); document.getElementById('crowd_address').value="("+map.getCenter().lat()+","+map.getCenter().lng()+")"; google.maps.event.addListener(tempMarker, 'position_changed',function(){ document.getElementById('crowd_address').value="("+tempMarker.getPosition().lat()+", "+tempMarker.getPosition().lng()+")"; }); var tempMarkerAni = setInterval("tempMarker.setAnimation(google.maps.Animation.BOUNCE)", 3000); } g.removeLocationMarker=function(){ if( tempMarker != undefined){ tempMarker.setMap(null); clearTimeout(tempMarkerAni); } } // confirm button for temp marker g.addLocationDiv=function(){ if(document.getElementById("crowdGetLocation_div")){ }else{ crowdGetLocation_div=document.createElement("div"); crowdGetLocation_div.id="crowdGetLocation_div"; crowdGetLocation_div.style.position="absolute"; crowdGetLocation_div.style.bottom="20px"; crowdGetLocation_div.style.left="30%"; crowdGetLocation_div.style.right="30%"; crowdGetLocation_div.style.display='block'; crowdGetLocation_div.style.zIndex="3"; crowdGetLocation_div.style.opacity="0.8"; crowdGetLocation_div.style.align="center"; var ci_style=""; var content=""; content+='
'+ '
Drag Marker and Confirm the Location.
'+ ''+ '
'; crowdGetLocation_div.innerHTML=content; if(true || g.data.crowdmap.mode=="edit" ){ if ( document.getElementById('gmap_'+g.data.fileid) ) { var map_div = document.getElementById('gmap_'+g.data.fileid); map_div.appendChild(crowdGetLocation_div); } } } } g.removeLocationDiv=function(){ if(document.getElementById("crowdGetLocation_div")) { var map_div = document.getElementById('gmap_'+g.data.fileid); var cf = document.getElementById("crowdGetLocation_div"); map_div.removeChild(cf); } } // show and hide temp marker g.addLocationMode=function(){ document.getElementById('reportPanel').style.display="none"; g.removeModel(); g.addLocationDiv(); g.addLocationMarker(); } g.comfirmLocation=function(){ g.createModel(); document.getElementById('reportPanel').style.display="block"; g.removeLocationMarker(); g.removeLocationDiv(); } // message dialog g.showMessage=function(message, bgcolor, fontColor){ if(document.getElementById("errorMessage_div")){ }else{ errorMessage_div=document.createElement("div"); errorMessage_div.id="errorMessage_div"; errorMessage_div.style.position="absolute"; errorMessage_div.style.bottom="20px"; errorMessage_div.style.left="30%"; errorMessage_div.style.right="30%"; errorMessage_div.style.display='block'; errorMessage_div.style.zIndex="3"; errorMessage_div.style.opacity="1"; errorMessage_div.align="center"; var ci_style=""; var content=""; content+='
'+ '
'+message+'
'+ '
'; errorMessage_div.innerHTML=content; if(true || g.data.crowdmap.mode=="edit" ){ if ( document.getElementById('gmap_'+g.data.fileid) ) { var map_div = document.getElementById('gmap_'+g.data.fileid); map_div.appendChild(errorMessage_div); } } setTimeout('net.imapbuilder.gmap.removeMessageDiv()', 3000); } } g.removeMessageDiv=function(){ if(document.getElementById("errorMessage_div")) { var map_div = document.getElementById('gmap_'+g.data.fileid); var cf = document.getElementById("errorMessage_div"); map_div.removeChild(cf); } } // function for data list scroll to bottom /* g.scrollDataListToBottom=function(){ if(document.getElementById('dataListContainer')!=undefined ) { var objDiv = document.getElementById('dataListContainer'); objDiv.scrollTop = objDiv.scrollHeight; } } */ g.refreshPage=function(){ window.location.reload(); return false; } // heat map g.checkHeatMap=function(){ heatMapArr = []; // check if it is heatmap if( g.data.heatmap != undefined && g.data.heatmap.enable == true ){ var heatMapData = g.data.heatmap.data; for(var i=0; i=0;i--){ if(str.charAt(i)!=" "&&str.charAt(i)!=" ") break; } str = str.substring(0,i+1); return str; } g.Trim=function(str){ return g.LTrim(g.RTrim(str)); } g.numToHex=function(num){ var hex = num.toString(16); if( hex.length == 1 ) return "0"+hex; else return hex; } var searchMarker = []; g.searchInMapAction=function(address){ if(address != " "){ map_geocoder=new google.maps.Geocoder(); var map_bound_SW = new google.maps.LatLng(-32.768800, -86.923828); var map_bound_NE = new google.maps.LatLng(9.188870, -16.611328); var map_bound = new google.maps.LatLngBounds(map_bound_SW, map_bound_NE); map_geocoder.geocode({'address':address +" Bazil", 'bounds':map_bound},function(results,status){ if(status==google.maps.GeocoderStatus.OK){ map.setCenter(results[0].geometry.location); //searchInMapAddMarker(results[0].geometry.location, results[0].formatted_address, searchMarkerID); searchMarker[searchMarkerID] = new google.maps.Marker({ map: map, animation: google.maps.Animation.DROP, position: results[0].geometry.location, icon: {url:'http://g3.imapbuilder.net/_api/img/marker/17',size:new google.maps.Size(35,35),origin:new google.maps.Point(0,0),anchor:new google.maps.Point(17.5,35)}, title: results[0].formatted_address }); google.maps.event.addListener(searchMarker[searchMarkerID], 'click',function(event){ var infowindow = new google.maps.InfoWindow({content:results[0].formatted_address,position:event.latLng}); infowindow.open(map); }); searchMarkerID++ } }); } } g.zoomInPolygonCenter=function(path){ var bounds = new google.maps.LatLngBounds(); var pglength = path.getLength(); for (i = 0; i < pglength; i++) { bounds.extend(path.getAt(i)); } map.fitBounds(bounds); } g.zoomInPolygon=function(polygonID){ if(polygons[polygonID] != undefined){ g.zoomInPolygonCenter(polygons[polygonID].getPath()); } } })();net.imapbuilder.gmap.expire=true;net.imapbuilder.gmap.mapkey="AIzaSyBsJ00itihfix0LqWl2nQ86J5AYBQK_XQg";net.imapbuilder.gmap.run("{\"width\":\"700\",\"width_unit\":\"px\",\"height\":\"400\",\"height_unit\":\"px\",\"fileid\":20478,\"filename\":\"Indianapolis Light Rail\",\"font_size\":\"16\",\"font_family\":\"Times New Roman\",\"options\":{\"mapTypeId\":\"roadmap\",\"disableDoubleClickZoom\":false,\"draggable\":true,\"keyboardShortcuts\":true,\"scrollwheel\":true,\"mapTypeControl\":true,\"panControl\":true,\"scaleControl\":true,\"streetViewControl\":true,\"zoomControl\":true,\"center\":[39.91637030002748,-86.10530035620776],\"zoom\":15},\"markers\":[],\"labels\":[{\"options\":{\"position\":[39.76286150380587,-86.16008520126343],\"visible\":true,\"clickable\":true,\"title\":\"Union Station-Connect to All MetroRail Lines, Streetcar, SkyWalk and Amtrak\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.71332728664095,-86.29812240600586],\"visible\":true,\"clickable\":true,\"title\":\"Airport\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"position\":[39.70824314819603,-86.1394214630127],\"visible\":true,\"clickable\":true,\"title\":\"University of Indianapolis\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"position\":[39.78834075258559,-86.15738153457642],\"visible\":true,\"clickable\":true,\"title\":\"16th St.-Health Corridor\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.80372268235577,-86.15682363510132],\"visible\":true,\"clickable\":true,\"title\":\"Fall Creek Pkwy-Ivy Tech\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.81018437463003,-86.15675926208496],\"visible\":true,\"clickable\":true,\"title\":\"Children\'s Museum\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.82477040061488,-86.15675926208496],\"visible\":true,\"clickable\":true,\"title\":\"38th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.85096802572695,-86.14583730697632],\"visible\":true,\"clickable\":true,\"title\":\"54th St.-SoBro\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.86208663707611,-86.14609479904175],\"visible\":true,\"clickable\":true,\"title\":\"Kessler Blvd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.869794483520884,-86.14607334136963],\"visible\":true,\"clickable\":true,\"title\":\"Broad Ripple\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.8832481998368,-86.14594459533691],\"visible\":true,\"clickable\":true,\"title\":\"71st St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.912287369097186,-86.14624500274658],\"visible\":true,\"clickable\":true,\"title\":\"College/86th-Nora\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.9412977804885,-86.15755319595337],\"visible\":true,\"clickable\":true,\"title\":\"106th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.95605332198714,-86.15751028060913],\"visible\":true,\"clickable\":true,\"title\":\"116th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,{\"options\":{\"position\":[39.97838620056149,-86.126868724823],\"visible\":true,\"clickable\":true,\"title\":\"Downtown Carmel\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"position\":[39.777986060913776,-86.1576659383934],\"visible\":true,\"clickable\":true,\"title\":\"St. Clair St.-Library\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.768604288438645,-86.15801458073975],\"visible\":true,\"clickable\":true,\"title\":\"Monument Circle\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,null,null,null,null,null,null,{\"options\":{\"position\":[39.91154672691627,-86.2223768234253],\"visible\":true,\"clickable\":true,\"title\":\"Michigan Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.94083713264957,-86.2366247177124],\"visible\":true,\"clickable\":true,\"title\":\"106th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.95528025668895,-86.243577003479],\"visible\":true,\"clickable\":true,\"title\":\"116th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"position\":[39.84281323262067,-86.15675926208496],\"visible\":true,\"clickable\":true,\"title\":\"49th St.-Butler University\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,null,null,null,null,null,null,{\"options\":{\"position\":[39.79765605123091,-86.1399793624878],\"visible\":true,\"clickable\":true,\"title\":\"22nd St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.825479021321755,-86.12972259521484],\"visible\":true,\"clickable\":true,\"title\":\"38th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.86231722624386,-86.10427379608154],\"visible\":true,\"clickable\":true,\"title\":\"Kessler Blvd\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.883363458952694,-86.07376098632812],\"visible\":true,\"clickable\":true,\"title\":\"71st St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.90516041323747,-86.05140209197998],\"visible\":true,\"clickable\":true,\"title\":\"Castleton\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.9567934827009,-86.0163402557373],\"visible\":true,\"clickable\":true,\"title\":\"Fishers\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.97873149706899,-86.00852966308594],\"visible\":true,\"clickable\":true,\"title\":\"131st St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[40.00079396953218,-86.00861549377441],\"visible\":true,\"clickable\":true,\"title\":\"146th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[40.04571886516417,-86.0148811340332],\"visible\":true,\"clickable\":true,\"title\":\"Noblesville\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.84571282558785,-86.39669895172119],\"visible\":true,\"clickable\":true,\"title\":\"Brownsburg\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.831180680074624,-86.36313915252686],\"visible\":true,\"clickable\":true,\"title\":\"Crawfordsville Road\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.8154258114776,-86.3270902633667],\"visible\":true,\"clickable\":true,\"title\":\"Raceway Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.801085082411184,-86.30859375],\"visible\":true,\"clickable\":true,\"title\":\"Country Club Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,null,{\"options\":{\"position\":[39.77655055750741,-85.95664501190186],\"visible\":true,\"clickable\":true,\"title\":\"Cumberland\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.84966661865515,-86.01041793823242],\"visible\":true,\"clickable\":true,\"title\":\"Lawrence\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.81130521861989,-86.0833740234375],\"visible\":true,\"clickable\":true,\"title\":\"Emerson Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.79389710908627,-86.1163330078125],\"visible\":true,\"clickable\":true,\"title\":\"Rural St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,{\"options\":{\"position\":[39.787697703126035,-86.22490882873535],\"visible\":true,\"clickable\":true,\"title\":\"Speedway\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.77450561882576,-86.20581150054932],\"visible\":true,\"clickable\":true,\"title\":\"Michigan St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.85355429312432,-86.22679710388184],\"visible\":true,\"clickable\":true,\"title\":\"56th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.87190246165225,-86.23173236846924],\"visible\":true,\"clickable\":true,\"title\":\"Guion Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.774769485295465,-85.99024772644043],\"visible\":true,\"clickable\":true,\"title\":\"Warren-Washington Square Mall\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.68674696886452,-86.1313533782959],\"visible\":true,\"clickable\":true,\"title\":\"Epler Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.66491373749128,-86.12259864807129],\"visible\":true,\"clickable\":true,\"title\":\"Southport Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.635803044474656,-86.11109733581543],\"visible\":true,\"clickable\":true,\"title\":\"Greenwood Park Mall\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.61362311364913,-86.1024284362793],\"visible\":true,\"clickable\":true,\"title\":\"Greenwood\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.764816071414806,-86.1793327331543],\"visible\":true,\"clickable\":true,\"title\":\"Zoo\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,null,null,null,{\"options\":{\"position\":[39.774076833655066,-86.15776777267456],\"visible\":true,\"clickable\":true,\"title\":\"Michigan St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"position\":[39.92701625549306,-86.15766048431396],\"visible\":true,\"clickable\":true,\"title\":\"96th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.754564282796196,-86.12118244171143],\"visible\":true,\"clickable\":true,\"title\":\"Keystone Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.74204232950662,-86.10172033309937],\"visible\":true,\"clickable\":true,\"title\":\"Sherman Dr.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.72162122116411,-86.08212947845459],\"visible\":true,\"clickable\":true,\"title\":\"Beech Grove\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,null,null,null,null,{\"options\":{\"position\":[39.75342601745367,-86.22516632080078],\"visible\":true,\"clickable\":true,\"title\":\"Holt Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.74260330891227,-86.26988410949707],\"visible\":true,\"clickable\":true,\"title\":\"High School Rd\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,{\"options\":{\"position\":[39.76565726064984,-86.15817546844482],\"visible\":true,\"clickable\":true,\"title\":\"Circle Center\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.76459340195589,-86.17106080055237],\"visible\":true,\"clickable\":true,\"title\":\"Victory Field/White River State Park\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.766976752471344,-86.15440964698792],\"visible\":true,\"clickable\":true,\"title\":\"Metro Center-Connect to IndyGo Bus\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.77392840739672,-86.15049362182617],\"visible\":true,\"clickable\":true,\"title\":\"Mass Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.76710870026268,-86.16170525550842],\"visible\":true,\"clickable\":true,\"title\":\"Captiol Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.771306157391855,-86.15798234939575],\"visible\":true,\"clickable\":true,\"title\":\"New York St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.771487574130575,-86.16701602935791],\"visible\":true,\"clickable\":true,\"title\":\"Military Park\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.77163600565208,-86.17868900299072],\"visible\":true,\"clickable\":true,\"title\":\"Carroll Stadium\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.76983006706559,-86.15437746047974],\"visible\":true,\"clickable\":true,\"title\":\"Ohio St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.767248894513905,-86.16699457168579],\"visible\":true,\"clickable\":true,\"title\":\"Museum District\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.76922807700863,-86.10208511352539],\"visible\":true,\"clickable\":true,\"title\":\"Sherman Dr.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.77064645612987,-86.07354640960693],\"visible\":true,\"clickable\":true,\"title\":\"Irvington\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.77203182147807,-86.04530811309814],\"visible\":true,\"clickable\":true,\"title\":\"Shadeland Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.77394489921898,-86.00910902023315],\"visible\":true,\"clickable\":true,\"title\":\"Post Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.73220794885398,-86.13972187042236],\"visible\":true,\"clickable\":true,\"title\":\"Garfield Park\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.751809318405684,-86.1397647857666],\"visible\":true,\"clickable\":true,\"title\":\"Fountain Square\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.76117904674866,-86.14922761917114],\"visible\":true,\"clickable\":true,\"title\":\"Fletcher Place-Eli Lilly\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.824226570464624,-86.22602462768555],\"visible\":true,\"clickable\":true,\"title\":\"38th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.825429582904945,-86.13703966140747],\"visible\":true,\"clickable\":true,\"title\":\"State Fair\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.82503407428982,-86.14504337310791],\"visible\":true,\"clickable\":true,\"title\":\"College Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,{\"options\":{\"position\":[39.82861004858057,-86.23967170715332],\"visible\":true,\"clickable\":true,\"title\":\"Lafayette Square Mall\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.90539085758962,-86.06492042541504],\"visible\":true,\"clickable\":true,\"title\":\"Castleton Square Mall\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.91263299937423,-86.13367080688477],\"visible\":true,\"clickable\":true,\"title\":\"Westfield Blvd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.91248487232621,-86.15774631500244],\"visible\":true,\"clickable\":true,\"title\":\"86th/Meridian\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.91223799320095,-86.18403196334839],\"visible\":true,\"clickable\":true,\"title\":\"Ditch Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.911974654486535,-86.20304346084595],\"visible\":true,\"clickable\":true,\"title\":\"Township Line Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,{\"options\":{\"position\":[39.76693551873469,-86.14901304244995],\"visible\":true,\"clickable\":true,\"title\":\"East St.-Market Square Arena\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,{\"options\":{\"position\":[39.91069086375544,-86.25992774963379],\"visible\":true,\"clickable\":true,\"title\":\"Zionsville Rd-Traders Point\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.949917903683534,-86.26142978668213],\"visible\":true,\"clickable\":true,\"title\":\"Zionsville\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.78114603843855,-86.15756928920746],\"visible\":true,\"clickable\":true,\"title\":\"10th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.78919814251521,-86.19096279144287],\"visible\":true,\"clickable\":true,\"title\":\"East Riverside Drive\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.780143248954886,-86.17425799369812],\"visible\":true,\"clickable\":true,\"title\":\"University Blvd-Connect to People Mover\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.7913910335265,-86.28833770751953],\"visible\":true,\"clickable\":true,\"title\":\"Ben Davis\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.78784609968866,-86.2110686302185],\"visible\":true,\"clickable\":true,\"title\":\"Kessler Blvd\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.78532331459258,-86.18083477020264],\"visible\":true,\"clickable\":true,\"title\":\"16 Tech\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,{\"options\":{\"position\":[39.61362311364913,-86.36970520019531],\"visible\":true,\"clickable\":true,\"title\":\"Mooresville\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.75154536393756,-86.53038024902344],\"visible\":true,\"clickable\":true,\"title\":\"Danville\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.75814392221573,-86.39888763427734],\"visible\":true,\"clickable\":true,\"title\":\"Avon\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.75952953914014,-86.33666038513184],\"visible\":true,\"clickable\":true,\"title\":\"Ronald Reagan\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.74943369178244,-86.3027572631836],\"visible\":true,\"clickable\":true,\"title\":\"Morris St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.67310613698793,-86.29674911499023],\"visible\":true,\"clickable\":true,\"title\":\"Camby/Decatur\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.64693991041216,-86.32919311523438],\"visible\":true,\"clickable\":true,\"title\":\"Mooresville Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"position\":[39.765747976522064,-86.16178035736084],\"visible\":true,\"clickable\":true,\"title\":\"Convention Center\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.79733457079179,-86.15720987319946],\"visible\":true,\"clickable\":true,\"title\":\"22nd St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.82557789804866,-86.05603694915771],\"visible\":true,\"clickable\":true,\"title\":\"38th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.82557789804866,-86.08378171920776],\"visible\":true,\"clickable\":true,\"title\":\"Emerson Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.92718080615945,-86.0368537902832],\"visible\":true,\"clickable\":true,\"title\":\"96th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.81067886687835,-86.13734006881714],\"visible\":true,\"clickable\":true,\"title\":\"30th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.77766536344073,-86.14519357681274],\"visible\":true,\"clickable\":true,\"title\":\"College Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.78853036858645,-86.13989353179932],\"visible\":true,\"clickable\":true,\"title\":\"16th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.787565794801665,-86.23962879180908],\"visible\":true,\"clickable\":true,\"title\":\"Crawfordsville/Georgetown/10th-IMS\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.97078923596947,-86.15257501602173],\"visible\":true,\"clickable\":true,\"title\":\"Carmel Dr.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.97817244470628,-86.14103078842163],\"visible\":true,\"clickable\":true,\"title\":\"Guilford Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.76040378309364,-86.19679927825928],\"visible\":true,\"clickable\":true,\"title\":\"Belmont Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.723230376505484,-86.12053871154785],\"visible\":true,\"clickable\":true,\"title\":\"Troy Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.73781833792706,-86.12079620361328],\"visible\":true,\"clickable\":true,\"title\":\"Raymond St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.76830446559166,-86.1163330078125],\"visible\":true,\"clickable\":true,\"title\":\"Washington/Keystone Ave\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.781365818279085,-86.11629009246826],\"visible\":true,\"clickable\":true,\"title\":\"10th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.810777764901175,-86.12165451049805],\"visible\":true,\"clickable\":true,\"title\":\"30th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.82554493915551,-86.12178325653076],\"visible\":true,\"clickable\":true,\"title\":\"38th St./Keystone Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.843439291467305,-86.12191200256348],\"visible\":true,\"clickable\":true,\"title\":\"Keystone Ave/49th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.8624819323178,-86.12212657928467],\"visible\":true,\"clickable\":true,\"title\":\"Kessler Blvd/Broad Ripple\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.88333052779651,-86.12174034118652],\"visible\":true,\"clickable\":true,\"title\":\"71st St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.91240257938332,-86.11423015594482],\"visible\":true,\"clickable\":true,\"title\":\"Keystone at the Crossing\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.92691752490338,-86.1122989654541],\"visible\":true,\"clickable\":true,\"title\":\"96th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.956694795068586,-86.11380100250244],\"visible\":true,\"clickable\":true,\"title\":\"Merchant\'s Square\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.77554458720017,-86.16665124893188],\"visible\":true,\"clickable\":true,\"title\":\"Indiana/West\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.89716022167398,-86.21546745300293],\"visible\":true,\"clickable\":true,\"title\":\"79th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.88471362273906,-86.20963096618652],\"visible\":true,\"clickable\":true,\"title\":\"73rd St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.87160603114178,-86.20336532592773],\"visible\":true,\"clickable\":true,\"title\":\"64th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,{\"options\":{\"position\":[39.85553099230919,-86.19538307189941],\"visible\":true,\"clickable\":true,\"title\":\"Kessler Blvd\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.82475392097658,-86.18053436279297],\"visible\":true,\"clickable\":true,\"title\":\"38th/Michigan-IMA\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.808206370066415,-86.17280960083008],\"visible\":true,\"clickable\":true,\"title\":\"29th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.78842319438931,-86.1683464050293],\"visible\":true,\"clickable\":true,\"title\":\"16th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.781233897815326,-86.13985061645508],\"visible\":true,\"clickable\":true,\"title\":\"10th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.76997025577522,-86.16158723831177],\"visible\":true,\"clickable\":true,\"title\":\"Capitol Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.77140511203588,-86.16147994995117],\"visible\":true,\"clickable\":true,\"title\":\"Capitol Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.774225259593344,-86.16143703460693],\"visible\":true,\"clickable\":true,\"title\":\"Capitol Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.77402735827118,-86.15416288375854],\"visible\":true,\"clickable\":true,\"title\":\"Delaware St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.782172133481374,-86.16827130317688],\"visible\":true,\"clickable\":true,\"title\":\"11th St.-Connect to People Mover\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.76162440702895,-86.16551399230957],\"visible\":true,\"clickable\":true,\"title\":\"Lucas Oil Stadium\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.757632556546305,-86.17233753204346],\"visible\":true,\"clickable\":true,\"title\":\"Kentucky Ave./McCarty St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.75136389465404,-86.17901086807251],\"visible\":true,\"clickable\":true,\"title\":\"Morris St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.73532672150253,-86.19879484176636],\"visible\":true,\"clickable\":true,\"title\":\"Raymond St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.72057318698104,-86.22525215148926],\"visible\":true,\"clickable\":true,\"title\":\"Holt Rd./Troy Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.70220111989765,-86.26132249832153],\"visible\":true,\"clickable\":true,\"title\":\"I-465\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},null,null,{\"options\":{\"position\":[39.70276242350638,-86.4029860496521],\"visible\":true,\"clickable\":true,\"title\":\"Plainfield\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.77463930695688,-86.17865681648254],\"visible\":true,\"clickable\":true,\"title\":\"IUPUI\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.60588656278739,-86.16843223571777],\"visible\":true,\"clickable\":true,\"title\":\"Smith Valley\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.63484459535098,-86.17753028869629],\"visible\":true,\"clickable\":true,\"title\":\"County Line Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.66379051022883,-86.18062019348145],\"visible\":true,\"clickable\":true,\"title\":\"Southport Rd.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.68592132925965,-86.17735862731934],\"visible\":true,\"clickable\":true,\"title\":\"Epler Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.72220712309695,-86.17740154266357],\"visible\":true,\"clickable\":true,\"title\":\"Troy Ave.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.7370593120002,-86.16804599761963],\"visible\":true,\"clickable\":true,\"title\":\"Raymond St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.75665930171797,-86.16565346717834],\"visible\":true,\"clickable\":true,\"title\":\"McCarty St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.756601565829904,-86.16207003593445],\"visible\":true,\"clickable\":true,\"title\":\"McCarty St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.72719121429075,-86.33698225021362],\"visible\":true,\"clickable\":true,\"title\":\"Ronald Reagan Pkwy\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.71765181077651,-86.35760307312012],\"visible\":true,\"clickable\":true,\"title\":\"Perry Rd-Metropolis Mall\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.7110658817148,-86.37468338012695],\"visible\":true,\"clickable\":true,\"title\":\"Quaker Blvd\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.706789261953894,-86.39004707336426],\"visible\":true,\"clickable\":true,\"title\":\"Carr Rd\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.89669927683091,-86.24254703521729],\"visible\":true,\"clickable\":true,\"title\":\"79th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"},{\"options\":{\"position\":[39.911020043159745,-86.2491774559021],\"visible\":true,\"clickable\":true,\"title\":\"86th St.\",\"border\":\"1\",\"bordercolor\":\"#000000\",\"bg\":\"#FFFFFF\",\"font_color\":\"#000000\",\"font_size\":\"8\"},\"event\":{},\"catID\":\"-1\"}],\"images\":[],\"polylines\":[{\"options\":{\"encodedPath\":\"seuqFfc{lO_G}Jq]YiAC\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}nvqFnvzlOsc@q@uBI??\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"gaerFpixlOijDbA??\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"enjrFflxlOyiDs@uIQ\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ktrrFrtzlOscEa@??\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"qwdrFxozlO_@qeA_HP\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"qxxqFxdwlOgfBh@\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"s`|qFbfwlOqLHk|AmW\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"_l_rF~mvlOeGoBaw@ec@{U_U\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"wcbrF`ptlOqRs@gGQagAe\\\\\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"gherFjpslOuPaGqQaOc{@edA\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"mihrFfrplOgc@sl@_bDutFuI}E\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"e|nrF`iglOmpEalC\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"anurFzzblOo}EgvC\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"wm|rF`c~kOc_@wQcuE`@vKO\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"gedsFjq}kOqjA`@kMzCw[`VuPzDigAbA\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"cwjsFjv~kOgu@r@\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"o~_rFb_hmO{}ExC\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"e~frF|chmO}f@OakDpiA\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"st|qFhexmO{k@rVcOtPwDhRedA~`D\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"m}`rF~d_nO_dCrnH\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"icerFfvhnOyFlT\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"gldrF`balOiu@cgB\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"kguqF|a{lO??\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"mqgqFn_vlOvnKw}C\",\"geodesic\":false,\"strokeColor\":\"#00FF00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ga{pFv`qlO|`Bqd@\",\"geodesic\":false,\"strokeColor\":\"#00FF00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}srrFjtzlOxFFMyiAnhAF\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"osuqFfexlOXoFzOqUZia@lAcHxFcPbnCc}E\",\"geodesic\":false,\"strokeColor\":\"#FFCC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"cgpqF~knlO`o@ujAjE{DdE?hOz@vVF\",\"geodesic\":false,\"strokeColor\":\"#FFCC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"_zxqFtawlOse@saA\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}`zqFd}tlOcuA_aDyu@chBcr@mdB\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ya`rFpkilOsjCaiG\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"aouqF`e_mOrDvGp@tIfClSlDxT\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"u}tqFtcamO`u@l~E\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ogarFjm|lOq@omB\",\"geodesic\":false,\"strokeColor\":\"#009900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"aiarFl~xlO]in@aAiI?gt@\",\"geodesic\":false,\"strokeColor\":\"#009900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"cwwqFrtzlOiB?\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"igarFxb_mOKaxA\",\"geodesic\":false,\"strokeColor\":\"#009900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"igarFhc_mOl@dtCXvBZzuA\",\"geodesic\":false,\"strokeColor\":\"#009900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"m`brFnujmOl\\\\a]_@m_@Mwr@\",\"geodesic\":false,\"strokeColor\":\"#009900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"mdarFtbgmOFeP\",\"geodesic\":false,\"strokeColor\":\"#009900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"sljrFpkxlOoAJ\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"yhrrFlpcmOcBetF\",\"geodesic\":false,\"strokeColor\":\"#990000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"clrrFvz{lOD{hF\",\"geodesic\":false,\"strokeColor\":\"#990000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"clrrFvotlO^wwAl@qJxTmy@vCyN`BsK\",\"geodesic\":false,\"strokeColor\":\"#990000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ykqrFvsnlOpEwXrFih@{@ekD\",\"geodesic\":false,\"strokeColor\":\"#990000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"o_qrFfdglOXgg@\",\"geodesic\":false,\"strokeColor\":\"#990000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{nuqFbxzlOf@?zFbJ\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"iouqF`e_mOmAuEdBgOf@mKJcO\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{uuqFdxzlOfGDpF|I\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"i{vqFtp`mOm@aVlAumC\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"izvqFrj{lOP{S\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"_ouqFbxzlOaV]\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"cfvqFbwzlOqRU\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{muqFpi}lOuEcD{GgDuAmBUwBv@c_A\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"__vqFvwzlOlHJ\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}luqFpq}lOAiC[wBy@}A{DuDg@_A\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}vuqFt~|lOUsBd@}aA\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ixxqF|dwlOll@hbA\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"wyxqF~awlOhn@rcA\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ouuqFnvzlOPwUe_@c@\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"mvuqFlazlOKfT\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ovuqFhazlOc]a@\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"eouqFtwzlOp@DxFnJ\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"iuvqFr~ylOkCD?o@{NeT\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ytvqFf`zlOaEG?cAcOwT\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"e_vqFhmzlO?|HjPVvF~I\",\"geodesic\":false,\"strokeColor\":\"#FF00FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"__vqFh`zlOdHLIjU\",\"geodesic\":false,\"strokeColor\":\"#FF00FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"msuqFjexlOYlE_InQSdo@\",\"geodesic\":false,\"strokeColor\":\"#FFCC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{~uqFznzlO?jFrPPrFnJ\",\"geodesic\":false,\"strokeColor\":\"#FFCC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"qjwqFjjylO]nj@dR^\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{iwqFriylO[hj@nQT\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"m`vqFjvzlOsWW\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"k`vqFjvzlOfRT\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"emuqFdwzlOhFbJ\",\"geodesic\":false,\"strokeColor\":\"#00FFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"s~uqFhxzlO|OVbFhI\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"k_vqFbxzlOqXi@\",\"geodesic\":false,\"strokeColor\":\"#9900FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"yqgqFf_vlO_lAv\\\\\",\"geodesic\":false,\"strokeColor\":\"#00FF00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"e_jqFh}vlOqO`Dks@P\",\"geodesic\":false,\"strokeColor\":\"#00FF00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"idlqFrbwlO_`AX\",\"geodesic\":false,\"strokeColor\":\"#00FF00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"qenqFdcwlOilAh@\",\"geodesic\":false,\"strokeColor\":\"#00FF00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ospqF~cwlOclA`@ey@ny@\",\"geodesic\":false,\"strokeColor\":\"#00FF00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"g_vqF~lzlOXwfA\",\"geodesic\":false,\"strokeColor\":\"#FF00FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"m~uqFzdxlOS}{@]yI\",\"geodesic\":false,\"strokeColor\":\"#FF00FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{_vqFx|ulOsFmiBkDcyA\",\"geodesic\":false,\"strokeColor\":\"#FF00FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{lvqFtwolOiIesE\",\"geodesic\":false,\"strokeColor\":\"#FF00FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"kwvqF~bilO_KefF\",\"geodesic\":false,\"strokeColor\":\"#FF00FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"qcwqFf{alOiJ}eF\",\"geodesic\":false,\"strokeColor\":\"#FF00FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"iowqFfszkOuIadF\",\"geodesic\":false,\"strokeColor\":\"#FF00FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{ztqFx_ylOuXb^sIIU`Y|P\\\\xEvH\",\"geodesic\":false,\"strokeColor\":\"#00FF00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"alarFloulOBwG\",\"geodesic\":false,\"strokeColor\":\"#009900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"igrrFdvfmO_@gnA\",\"geodesic\":false,\"strokeColor\":\"#990000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"mhrrFpfdmOO{]\",\"geodesic\":false,\"strokeColor\":\"#990000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"sgrrFlwfmOrEpzF\",\"geodesic\":false,\"strokeColor\":\"#990000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"o}xrFvqjmOu^fJiYrOL~Td@jDx[|b@rGbPbCnT\",\"geodesic\":false,\"strokeColor\":\"#000099\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"klyrFvsnmO`@`EsIbB\",\"geodesic\":false,\"strokeColor\":\"#000099\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ucdrF`pzlO}RD\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"qcdrF`pzlOnz@O\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}gbrFtozlO|s@Q\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{r`rFbozlOtz@O\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}v~qFnnzlOfw@Q\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"o~|qF|mzlOlh@hCrFJhIG\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"wb{qFfrzlO|]QdiA|A\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ebzqFnbcmOzAhwC\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"i{vqFdq`mOXr{@kYjfA\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"u_vqF`yzlObQ`@bElH\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{_vqF`yzlOmYw@\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"gu|qF~|gmObtAs@\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"yu|qF~|gmOwhBz@\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"_l{qF`owmOaj@`V\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"cawqF~uzlOfJP\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"iawqF~uzlOyHM[ld@\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"alwqFb{{lOClFcG~HsFrK\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"a|wqFdy|lOgTjb@aGnK??\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"uyxqFdi~lOaE`Ggc@dh@\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"cdzqFbz_mO}@dACnD{A~FY~u@\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"abzqFhbcmO}Fw`@\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"el{qFfnwmOdo@_kFaAgdD\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}gpqFxotmOr@bH?vIwD`V_FzKuNrOuGhCuNtAab@?\",\"geodesic\":false,\"strokeColor\":\"#FFCC00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"__sqFd~vmO}d@bAgGhCgG|LzMz{P\",\"geodesic\":false,\"strokeColor\":\"#FFCC00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"whpqFhotmOacAovG\",\"geodesic\":false,\"strokeColor\":\"#FFCC00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"grcqFz|umO~tIxfL\",\"geodesic\":false,\"strokeColor\":\"#CCCCCC\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"a|xpF|dcnOdP|SzGnFfFvB\",\"geodesic\":false,\"strokeColor\":\"#CCCCCC\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ylrqFdvkmOg|As_KYeIgGiK\",\"geodesic\":false,\"strokeColor\":\"#FFCC00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}muqFl|}lOSfJqCrV\",\"geodesic\":false,\"strokeColor\":\"#FFCC00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}muqF|{}lO?cOm@oBuGsH`@q~@\",\"geodesic\":false,\"strokeColor\":\"#FFCC00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"awuqF`_{lO@wDtHPnEjH\",\"geodesic\":false,\"strokeColor\":\"#FFCC00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"cwuqFhyzlOsGMKr^\",\"geodesic\":false,\"strokeColor\":\"#FFCC00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"i`vqFlx{lO]`_@\\\\vBnAjBbNtI\",\"geodesic\":false,\"strokeColor\":\"#FFCC00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"_gtqFx{inO?_U\",\"geodesic\":false,\"strokeColor\":\"#FFCC00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{zrqFfscoOc_@gzGgLkeP\",\"geodesic\":false,\"strokeColor\":\"#FFCC00\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"a~yqFl|jmOaAg`C\",\"geodesic\":false,\"strokeColor\":\"#999999\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"utwqFludmOo]zmA}C~FyFlEsEzCaHdB_`@`@\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"slarFvfllOJ~}G\",\"geodesic\":false,\"strokeColor\":\"#009933\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"slarFffllOMilD\",\"geodesic\":false,\"strokeColor\":\"#009900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}x}rFrsylOpS`RpDpCl@r@D`@RtEnv@?\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"kyxrFpszlOclAX\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ky}rFrsylOyk@si@m@{rB\",\"geodesic\":false,\"strokeColor\":\"#FF0000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"i`{rFnbrlOJvoAqq@`@\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"}r|rFhttlOq_BX\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"}s_sFzttlOwfA`@uCdEoBvBoBz@_G?\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"qobsFnaulOeShD\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"mskrFnlxlOrq@a@Dal@fFq]YyaA\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"ezirFv|slOCaEhf@KDy^\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"yrhrFjvrlOFonA\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"ai_sFp{qlOfl@?jy@lEjb@?|_A?jTgB\",\"geodesic\":false,\"strokeColor\":\"#FFCCFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"q}orFfrslOiR?eLkD{m@yh@cQuHqScAwoBbAoh@jE\",\"geodesic\":false,\"strokeColor\":\"#FFCCFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ugdrF|tslOrcCa@\",\"geodesic\":false,\"strokeColor\":\"#FFCCFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"gb`rFzsslOzfBa@vDiCxDsOjFkDvWkDtj@?\",\"geodesic\":false,\"strokeColor\":\"#FFCCFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ebzqFrrrlO`}DQt@hY\",\"geodesic\":false,\"strokeColor\":\"#FFCCFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{btqFlmslOzAfBx}CuA\",\"geodesic\":false,\"strokeColor\":\"#FFCCFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"k`oqF~mslOjmCuAnA`vB\",\"geodesic\":false,\"strokeColor\":\"#FFCCFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"mi_sFx{qlOl@`xA\",\"geodesic\":false,\"strokeColor\":\"#FFCCFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ohdrF|tslOe_Dr@\",\"geodesic\":false,\"strokeColor\":\"#FFCCFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"w~orFfrslOf}EhC\",\"geodesic\":false,\"strokeColor\":\"#FFCCFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"grvqFpn|lOf@uu@tb@`@jEdI\",\"geodesic\":false,\"strokeColor\":\"#000099\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"srvqF`n|lOcc@s@aPlEgMnBsZh@\",\"geodesic\":false,\"strokeColor\":\"#000099\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"oryqFtw|lO{w@PoHfCwKPw^`G}nApd@\",\"geodesic\":false,\"strokeColor\":\"#000099\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"iq_rFbj~lOccE|}A\",\"geodesic\":false,\"strokeColor\":\"#000099\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"sverFriamOkaEh|A\",\"geodesic\":false,\"strokeColor\":\"#000099\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"yykrFngdmOe_Ex{A\",\"geodesic\":false,\"strokeColor\":\"#000099\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{zqrFhdgmOcaEj}A\",\"geodesic\":false,\"strokeColor\":\"#000099\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}cxqF|j{lOvyAlB\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"wquqF|`zlO}g@s@\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"i{vqFh_zlOqf@s@\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ycxqFrj{lOXal@\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"k}tqFlp|lOVs`@eHaK\",\"geodesic\":false,\"strokeColor\":\"#CCCCCC\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"m}tqFvp|lOnO|Up_@v^\",\"geodesic\":false,\"strokeColor\":\"#CCCCCC\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ilsqFpg~lO|NxQrWde@\",\"geodesic\":false,\"strokeColor\":\"#CCCCCC\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"wcrqFba`mOv_BblB\",\"geodesic\":false,\"strokeColor\":\"#CCCCCC\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"krlqFpphmOav@svByKwXoCmEeEyFoAeB\",\"geodesic\":false,\"strokeColor\":\"#CCCCCC\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"erlqFxphmOxlArfDbJbO\",\"geodesic\":false,\"strokeColor\":\"#CCCCCC\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"yxiqFzinmOxaEfnF\",\"geodesic\":false,\"strokeColor\":\"#CCCCCC\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"cowqFf}`mO`@zcB\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"eowqF~|`mOCa@gDkOSuAB{@hDqNFgAf@oa@\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"knwqFpr~lOdAgpA\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"glwqFda|lOVgg@\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}cwqFjvzlOzI^\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"_dwqFlvzlOoFCAjB\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"g~sqFff|lOq]ST}U{GuJ\",\"geodesic\":false,\"strokeColor\":\"#33CC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"_~sqFbf|lOtFhAjPd@\",\"geodesic\":false,\"strokeColor\":\"#33CC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}dsqFni|lOla@o@\",\"geodesic\":false,\"strokeColor\":\"#33CC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ibrqFzg|lOfU{KtMGhDXbCbAlElEbDvIhBbE`U`N\",\"geodesic\":false,\"strokeColor\":\"#33CC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ynoqFnc}lObw@zh@jDrAneCq@\",\"geodesic\":false,\"strokeColor\":\"#33CC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"kjiqFln~lOpyDbAlKxC\",\"geodesic\":false,\"strokeColor\":\"#33CC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"qbcqF|u~lO`g@nMfG`@~qA{Rt`A?\",\"geodesic\":false,\"strokeColor\":\"#33CC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"c}|pFdr~lOls@a@ns@yv@lFgBjpAq@\",\"geodesic\":false,\"strokeColor\":\"#33CC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}nvpFdw|lOmL_B\",\"geodesic\":false,\"strokeColor\":\"#33CC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"o}sqF~o{lO`p@vBd`@fF\",\"geodesic\":false,\"strokeColor\":\"#33CC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"_|tqF`o{lO~]\\\\\",\"geodesic\":false,\"strokeColor\":\"#33CC99\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ciuqFnn{lOxj@|@Rol@wl@{@\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"sjuqF~`zlOiFC\",\"geodesic\":false,\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3}},{\"options\":{\"encodedPath\":\"kwqqF`lnmOip@mkE\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"qcqqF~}pmOwHkg@\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"mmqqFruomOeI{i@\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"}enqFpu}mO|@`IlBhGrDlGfMhPrBfE|Odj@\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"mfkqFnqdnOiq@a_C\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"wbjqFllhnOyBwJcZ_`BaDcN\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"otiqFf{inO}Mip@\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"qtiqFp{inOhFbU\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"oepqFfvtmOy`@wgC\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"aepqFxvtmOLb|@`p@z~CzHpd@hB~[\",\"geodesic\":false,\"strokeColor\":\"#0000FF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ivkqFfbvmOcmDooDuIki@\",\"geodesic\":false,\"strokeColor\":\"#FFFFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"coqqFzfomOybBs|K\",\"geodesic\":false,\"strokeColor\":\"#FFFFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"q`uqFrs`mOdSjnA\",\"geodesic\":false,\"strokeColor\":\"#FFFFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"q`uqFjs`mOkEsZ{@eL?aVaA}PRwc@hCuWbC_QFkH_DsD\",\"geodesic\":false,\"strokeColor\":\"#FFFFFF\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"c}xrFlqjmOrd@mP\",\"geodesic\":false,\"strokeColor\":\"#000099\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"oytrFdxmmOvjFekB\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"ymwrFhpnmO~c@kD~E{@`k@oQ\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"kqxrFvrnmO~FNrGObRmA\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"},{\"options\":{\"encodedPath\":\"{uyrFb}nmO|^{HxDO\",\"geodesic\":false,\"strokeColor\":\"#FF9900\",\"strokeOpacity\":1,\"strokeWeight\":3},\"catID\":\"-1\"}],\"polygons\":[],\"rectangles\":[null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"bounds\":[39.76127801594876,-86.16669416427612,39.774423160346544,-86.14916324615479],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"Rectangle 11\",\"visible\":true},\"catID\":\"undefined\",\"event\":{\"click\":{\"infoWindow\":{\"options\":{\"content\":\"Your Description Here\"}}}}},null,{\"options\":{\"bounds\":[39.9791918896982,-86.1284351348877,39.97738318652555,-86.12581729888916],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"rectangle 13\"}}],\"circles\":[null,null,null,null,{\"options\":{\"radius\":81.87676749753554,\"center\":[39.76289449274903,-86.16002082824707],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"Circle 4\",\"visible\":true},\"catID\":\"-1\",\"event\":{\"click\":{\"infoWindow\":{\"options\":{\"content\":\"Your Description Here\"}}}}},null,{\"options\":{\"radius\":0.9052697816013167,\"center\":[39.767133440445406,-86.15989208221436],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 6\"}},{\"options\":{\"radius\":0.6594981408025947,\"center\":[39.7670179861833,-86.1544418334961],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 7\"}},null,null,{\"options\":{\"radius\":0.021640212246982315,\"center\":[39.76992077743973,-86.15798234939575],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 10\"}},null,null,null,null,null,null,null,{\"options\":{\"radius\":0.31977072059253153,\"center\":[39.774736502042074,-86.183602809906],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 18\"}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"radius\":0.062163555226734335,\"center\":[39.765731482736,-86.16725206375122],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 40\"}},null,null,null,null,{\"options\":{\"radius\":51.91035952993777,\"center\":[39.71403705538318,-86.2986159324646],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 45\"}},{\"options\":{\"radius\":45.39108686973755,\"center\":[39.78829128745594,-86.15740299224854],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 46\"}},{\"options\":{\"radius\":47.58520642844394,\"center\":[39.80388752899303,-86.15686655044556],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 47\"}},{\"options\":{\"radius\":41.79324738467726,\"center\":[39.8101184420615,-86.15686655044556],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 48\"}},null,{\"options\":{\"radius\":2.448140895501336,\"center\":[39.82503407428982,-86.14504337310791],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 50\"}},{\"options\":{\"radius\":42.87801577673187,\"center\":[39.850935079016885,-86.14588022232056],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 51\"}},{\"options\":{\"radius\":53.48704350168567,\"center\":[39.862168990439265,-86.14605188369751],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 52\"}},{\"options\":{\"radius\":41.51545630950703,\"center\":[39.86959685724991,-86.14609479904175],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 53\"}},{\"options\":{\"radius\":49.80318012072539,\"center\":[39.88316587177822,-86.1459231376648],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 54\"}},{\"options\":{\"radius\":84.26042231557344,\"center\":[39.91227091046905,-86.14598751068115],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 55\"}},null,null,{\"options\":{\"radius\":90.35780012284887,\"center\":[39.941396490336224,-86.15761756896973],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 58\"}},{\"options\":{\"radius\":83.40841099082792,\"center\":[39.95606977009003,-86.1577033996582],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 59\"}},null,null,null,null,null,null,null,null,{\"options\":{\"radius\":60.12383691100974,\"center\":[39.70814410281739,-86.13950729370117],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 68\"}},null,{\"options\":{\"radius\":2.552613666550663,\"center\":[39.68668091805942,-86.13452911376953],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 70\"}},null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"radius\":0.48430504012948816,\"center\":[39.97146345961307,-86.0038948059082],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 84\"}},null,{\"options\":{\"radius\":1.7660781550823978,\"center\":[39.993396766181476,-86.00408792495728],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 86\"}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"radius\":16.673793063475333,\"center\":[39.77796273932324,-86.15766057397536],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 104\"}},{\"options\":{\"radius\":22.338393047253362,\"center\":[39.76857515685537,-86.15800926115753],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 105\"}},{\"options\":{\"radius\":30.16019677498915,\"center\":[39.77128966493735,-86.15792888454337],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 106\"}},null,{\"options\":{\"radius\":66.49645266746141,\"center\":[39.95537894636254,-86.24353408813477],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 108\"}},{\"options\":{\"radius\":72.48133791750439,\"center\":[39.94070551841171,-86.23668909072876],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 109\"}},{\"options\":{\"radius\":95.1618902272774,\"center\":[39.91159610331084,-86.22256994247437],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 110\"}},null,null,null,null,null,null,null,null,null,{\"options\":{\"radius\":3.238017724096903,\"center\":[39.780871115236025,-86.16817474365234],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 120\"}},null,null,null,null,null,{\"options\":{\"radius\":0.2757490436725658,\"center\":[39.76721590765695,-86.16267085075378],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 126\"}},{\"options\":{\"radius\":0.27540791330073455,\"center\":[39.767306621475555,-86.16345405578613],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 127\"}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"radius\":0.3430247166319793,\"center\":[39.76428826115751,-86.16002082824707],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 145\"}},null,null,null,null,null,null,null,{\"options\":{\"radius\":0.36026918322765106,\"center\":[39.76847764367618,-86.15630865097046],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"Circle 153\",\"visible\":true},\"catID\":\"-1\",\"event\":{\"click\":{\"infoWindow\":{\"options\":{\"content\":\"Your Description Here\"}}}}},null,null,null,null,null,{\"options\":{\"radius\":32.76994518321034,\"center\":[39.84261552864106,-86.15710258483887],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 159\"}},null,null,null,null,null,null,{\"options\":{\"radius\":51.92997307125711,\"center\":[39.77406858776022,-86.15782141685486],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 166\"}},null,{\"options\":{\"radius\":80.48860854211149,\"center\":[39.79768902349869,-86.14010810852051],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 168\"}},{\"options\":{\"radius\":72.74184535570781,\"center\":[39.825380144452566,-86.12972259521484],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 169\"}},null,{\"options\":{\"radius\":106.97353942185748,\"center\":[39.86231722624386,-86.10418796539307],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 171\"}},{\"options\":{\"radius\":77.67399213880698,\"center\":[39.883363458952694,-86.07371807098389],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 172\"}},{\"options\":{\"radius\":98.89891527132502,\"center\":[39.905226254560034,-86.05144500732422],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 173\"}},null,{\"options\":{\"radius\":104.09854765451945,\"center\":[39.95682637854672,-86.01629734039307],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 175\"}},{\"options\":{\"radius\":82.89817552066808,\"center\":[39.978797267634526,-86.00852966308594],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 176\"}},{\"options\":{\"radius\":81.16088914646869,\"center\":[40.00079396953218,-86.00874423980713],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 177\"}},{\"options\":{\"radius\":67.05846600332309,\"center\":[40.04558745288209,-86.0148811340332],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 178\"}},null,null,{\"options\":{\"radius\":113.73533519775522,\"center\":[39.85348840217105,-86.22662544250488],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 181\"}},{\"options\":{\"radius\":114.55106812574293,\"center\":[39.787565794801665,-86.22525215148926],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 182\"}},null,{\"options\":{\"radius\":138.22606644511845,\"center\":[39.776352662871,-85.95651626586914],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"Circle 184\",\"visible\":true},\"catID\":\"-1\",\"event\":{\"click\":{\"infoWindow\":{\"options\":{\"content\":\"Your Description Here\"}}}}},null,null,null,null,null,{\"options\":{\"radius\":120.22769958411654,\"center\":[39.81539284771493,-86.32730484008789],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 190\"}},{\"options\":{\"radius\":155.2924581277488,\"center\":[39.83114772386931,-86.36301040649414],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 191\"}},{\"options\":{\"radius\":72.25731612114141,\"center\":[39.84581167318968,-86.39699935913086],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 192\"}},{\"options\":{\"radius\":78.45529535843923,\"center\":[39.80111805303492,-86.30876541137695],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 193\"}},{\"options\":{\"radius\":82.07002141429057,\"center\":[39.793831160899174,-86.11659049987793],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"Circle 194\",\"visible\":true},\"catID\":\"-1\",\"event\":{\"click\":{\"infoWindow\":{\"options\":{\"content\":\"Your Description Here\"}}}}},{\"options\":{\"radius\":146.61798561434043,\"center\":[39.81084369683733,-86.08345985412598],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 195\"}},null,{\"options\":{\"radius\":136.2858842031685,\"center\":[39.8495348292215,-86.01024627685547],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 197\"}},null,null,null,null,{\"options\":{\"radius\":48.929033548187505,\"center\":[39.774571585538034,-86.2058973312378],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 202\"}},{\"options\":{\"radius\":98.26706323018372,\"center\":[39.871803651624425,-86.23160362243652],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 203\"}},{\"options\":{\"radius\":141.65688175844383,\"center\":[39.77483545175482,-85.99050521850586],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 204\"}},null,{\"options\":{\"radius\":67.03010416759548,\"center\":[39.664880701655946,-86.12259864807129],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 206\"}},{\"options\":{\"radius\":81.34461361946346,\"center\":[39.63573694496146,-86.11105442047119],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 207\"}},{\"options\":{\"radius\":54.64679897412965,\"center\":[39.61378841513131,-86.10251426696777],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 208\"}},{\"options\":{\"radius\":64.1297662757473,\"center\":[39.68677999424334,-86.13131046295166],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 209\"}},null,{\"options\":{\"radius\":107.15021282640991,\"center\":[39.76480782441066,-86.1793327331543],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"Circle 211\",\"visible\":true},\"catID\":\"-1\",\"event\":{\"click\":{\"infoWindow\":{\"options\":{\"content\":\"Your Description Here\"}}}}},null,null,null,null,null,null,null,null,null,null,null,null,null,null,{\"options\":{\"radius\":42.30311901994613,\"center\":[39.82486927836157,-86.15675926208496],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 226\"}},null,null,null,null,null,null,null,null,{\"options\":{\"radius\":99.87818212030614,\"center\":[39.926884614675174,-86.15774631500244],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 235\"}},{\"options\":{\"radius\":68.53242676489296,\"center\":[39.75451479338985,-86.12109661102295],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 236\"}},null,{\"options\":{\"radius\":70.70499457634646,\"center\":[39.74217432507174,-86.10182762145996],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"Circle 238\",\"visible\":true},\"catID\":\"-1\",\"event\":{\"click\":{\"infoWindow\":{\"options\":{\"content\":\"Your Description Here\"}}}}},null,{\"options\":{\"radius\":29.160272888248436,\"center\":[39.721596464634814,-86.08217239379883],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 240\"}},null,null,null,null,null,null,null,null,null,{\"options\":{\"radius\":103.30618395742776,\"center\":[39.753393023974844,-86.22520923614502],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 250\"}},{\"options\":{\"radius\":83.74849093242378,\"center\":[39.74257031025014,-86.2697982788086],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 251\"}},null,{\"options\":{\"radius\":18.085238502526142,\"center\":[39.765649013746426,-86.15819692611694],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 253\"}},{\"options\":{\"radius\":23.486100638362508,\"center\":[39.76460989601459,-86.17106080055237],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 254\"}},{\"options\":{\"radius\":25.178665050361346,\"center\":[39.766952012232316,-86.15439891815186],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 255\"}},{\"options\":{\"radius\":34.10907517110744,\"center\":[39.77392840739672,-86.15053653717041],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 256\"}},{\"options\":{\"radius\":19.429980755977052,\"center\":[39.76711694699124,-86.16171598434448],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 257\"}},{\"options\":{\"radius\":35.22556948539377,\"center\":[39.771421604462724,-86.16703748703003],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 258\"}},{\"options\":{\"radius\":34.45344742207606,\"center\":[39.77171846747019,-86.17873191833496],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 259\"}},{\"options\":{\"radius\":18.45224850724519,\"center\":[39.76982182066201,-86.1543881893158],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 260\"}},{\"options\":{\"radius\":15.260834649784213,\"center\":[39.76726538793645,-86.16705894470215],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 261\"}},{\"options\":{\"radius\":38.57506468660936,\"center\":[39.73219144703613,-86.13972187042236],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 262\"}},{\"options\":{\"radius\":67.34644557057476,\"center\":[39.751941295260444,-86.13985061645508],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 263\"}},{\"options\":{\"radius\":80.51844147575937,\"center\":[39.772130775078956,-86.04530811309814],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 264\"}},{\"options\":{\"radius\":21.73644258771592,\"center\":[39.77064645612987,-86.07357859611511],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 265\"}},{\"options\":{\"radius\":42.65401572480078,\"center\":[39.76924456995703,-86.10208511352539],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 266\"}},{\"options\":{\"radius\":19.836661489285643,\"center\":[39.7669272719844,-86.14904522895813],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 267\"}},null,{\"options\":{\"radius\":43.47101945315918,\"center\":[39.773895423740285,-86.00917339324951],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 269\"}},{\"options\":{\"radius\":37.7654920814336,\"center\":[39.76121203649784,-86.14922761917114],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 270\"}},{\"options\":{\"radius\":134.7507529251734,\"center\":[39.82402881297913,-86.22602462768555],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 271\"}},{\"options\":{\"radius\":32.00052831112362,\"center\":[39.82544606238118,-86.13701820373535],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 272\"}},{\"options\":{\"radius\":29.545579066221713,\"center\":[39.825067033428034,-86.14506483078003],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 273\"}},null,null,{\"options\":{\"radius\":77.04188813890485,\"center\":[39.82861004858057,-86.23958587646484],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 276\"}},null,null,{\"options\":{\"radius\":57.87038378496571,\"center\":[39.912205075916994,-86.18396759033203],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 279\"}},{\"options\":{\"radius\":69.92484457235498,\"center\":[39.912468413745536,-86.15778923034668],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 280\"}},null,{\"options\":{\"radius\":70.40206600857843,\"center\":[39.912435496572336,-86.13362789154053],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 282\"}},null,null,{\"options\":{\"radius\":64.8626330175484,\"center\":[39.90519333390665,-86.06492042541504],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 285\"}},{\"options\":{\"radius\":44.56429088370724,\"center\":[39.911974654486535,-86.20306491851807],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 286\"}},null,null,null,null,null,null,null,{\"options\":{\"radius\":65.9837552138859,\"center\":[39.910822535706984,-86.25992774963379],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 294\"}},{\"options\":{\"radius\":19.973164014060384,\"center\":[39.949901454101145,-86.26142978668213],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 295\"}},{\"options\":{\"radius\":11.339355559914964,\"center\":[39.78114020830936,-86.1575585603714],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 296\"}},{\"options\":{\"radius\":30.346668642470185,\"center\":[39.78921463067836,-86.19098424911499],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"Circle 297\",\"visible\":true},\"catID\":\"-1\",\"event\":{\"click\":{\"infoWindow\":{\"options\":{\"content\":\"Your Description Here\"}}}}},null,{\"options\":{\"radius\":13.038382480555287,\"center\":[39.780131588526125,-86.17423117160797],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 299\"}},{\"options\":{\"radius\":138.09653854954746,\"center\":[39.7913910335265,-86.28833770751953],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"Circle 300\",\"visible\":true},\"catID\":\"-1\",\"event\":{\"click\":{\"infoWindow\":{\"options\":{\"content\":\"Your Description Here\"}}}}},null,{\"options\":{\"radius\":29.844657580513058,\"center\":[39.78789556513838,-86.21096134185791],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 302\"}},{\"options\":{\"radius\":31.221965383947083,\"center\":[39.78527384729346,-86.18085622787476],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 303\"}},{\"options\":{\"radius\":105.26418359791202,\"center\":[39.612829661040195,-86.37004852294922],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 304\"}},{\"options\":{\"radius\":105.2124614361966,\"center\":[39.64680773260988,-86.32919311523438],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 305\"}},{\"options\":{\"radius\":124.8745474032284,\"center\":[39.67304007313557,-86.29700660705566],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 306\"}},null,{\"options\":{\"radius\":72.25644308447609,\"center\":[39.75814392221573,-86.39948844909668],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 308\"}},{\"options\":{\"radius\":74.81649813324873,\"center\":[39.75959552020307,-86.33648872375488],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 309\"}},{\"options\":{\"radius\":98.44202327564457,\"center\":[39.74949968251708,-86.3027572631836],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 310\"}},null,null,null,null,null,null,{\"options\":{\"radius\":190.7680211735385,\"center\":[39.751017451967144,-86.53072357177734],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 317\"}},null,null,null,null,null,null,null,null,{\"options\":{\"radius\":18.06205276922481,\"center\":[39.765747976522064,-86.16178035736084],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 326\"}},{\"options\":{\"radius\":21.377338212712733,\"center\":[39.79731808457492,-86.15722060203552],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 327\"}},null,{\"options\":{\"radius\":52.85263627621084,\"center\":[39.82564381578753,-86.05599403381348],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 329\"}},{\"options\":{\"radius\":33.03289340985188,\"center\":[39.825511980246546,-86.08378171920776],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 330\"}},null,{\"options\":{\"radius\":79.16187044920672,\"center\":[39.92704916565799,-86.0368537902832],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 332\"}},{\"options\":{\"radius\":23.327090268183397,\"center\":[39.81066238386072,-86.13736152648926],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 333\"}},{\"options\":{\"radius\":21.245404177210048,\"center\":[39.77765953301664,-86.14519894123077],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 334\"}},{\"options\":{\"radius\":14.230746622208382,\"center\":[39.78851388025929,-86.13989353179932],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 335\"}},{\"options\":{\"radius\":53.198829048961585,\"center\":[39.787532817681075,-86.23956441879272],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 336\"}},{\"options\":{\"radius\":48.27262652121263,\"center\":[39.97078923596947,-86.15257501602173],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 337\"}},{\"options\":{\"radius\":29.762108787707486,\"center\":[39.97817244470628,-86.14105224609375],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 338\"}},{\"options\":{\"radius\":35.23145314028363,\"center\":[39.76035429788316,-86.1968207359314],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 339\"}},{\"options\":{\"radius\":55.951579867957975,\"center\":[39.956694795068586,-86.11380100250244],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 340\"}},{\"options\":{\"radius\":71.04986505281927,\"center\":[39.92695043511577,-86.11212730407715],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 341\"}},{\"options\":{\"radius\":41.81092523859739,\"center\":[39.9123696621785,-86.11416578292847],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 342\"}},{\"options\":{\"radius\":26.404228005887354,\"center\":[39.883264665436634,-86.12174034118652],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 343\"}},{\"options\":{\"radius\":31.50785126289247,\"center\":[39.86244899113463,-86.12208366394043],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 344\"}},{\"options\":{\"radius\":56.87610552257991,\"center\":[39.843472241774776,-86.12191200256348],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 345\"}},{\"options\":{\"radius\":46.35488082867005,\"center\":[39.82544606238118,-86.12169742584229],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 346\"}},{\"options\":{\"radius\":50.922174718579235,\"center\":[39.81074479890936,-86.12161159515381],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 347\"}},{\"options\":{\"radius\":49.33494444856259,\"center\":[39.781365818279085,-86.11650466918945],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 348\"}},{\"options\":{\"radius\":57.99179948304955,\"center\":[39.76833745192706,-86.1163330078125],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 349\"}},{\"options\":{\"radius\":56.96373838051059,\"center\":[39.73765333300184,-86.12083911895752],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 350\"}},{\"options\":{\"radius\":77.76849207649047,\"center\":[39.72313135264569,-86.12053871154785],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 351\"}},{\"options\":{\"radius\":27.073904835866642,\"center\":[39.77556107863522,-86.166672706604],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 352\"}},{\"options\":{\"radius\":45.354044467417296,\"center\":[39.78829128745594,-86.16838932037354],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 353\"}},{\"options\":{\"radius\":47.793639721451896,\"center\":[39.80827230446875,-86.1729383468628],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 354\"}},{\"options\":{\"radius\":55.81935028476162,\"center\":[39.824720961688165,-86.18066310882568],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 355\"}},{\"options\":{\"radius\":54.45549750334049,\"center\":[39.85546510325357,-86.19551181793213],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 356\"}},{\"options\":{\"radius\":69.47217399480992,\"center\":[39.88477948370708,-86.209716796875],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 357\"}},{\"options\":{\"radius\":83.48012189928053,\"center\":[39.89716022167398,-86.2155532836914],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 358\"}},{\"options\":{\"radius\":73.60958474136831,\"center\":[39.87154015752106,-86.20327949523926],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 359\"}},{\"options\":{\"radius\":46.3848102773921,\"center\":[39.781266877954984,-86.13989353179932],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 360\"}},{\"options\":{\"radius\":22.68169120041837,\"center\":[39.77419227607918,-86.16145849227905],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 361\"}},{\"options\":{\"radius\":26.255513030536587,\"center\":[39.77140511203588,-86.16152286529541],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 362\"}},{\"options\":{\"radius\":23.839713017659186,\"center\":[39.76997025577522,-86.16160869598389],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 363\"}},{\"options\":{\"radius\":22.681492540561216,\"center\":[39.77404385006975,-86.15418434143066],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 364\"}},{\"options\":{\"radius\":13.25329557686481,\"center\":[39.782172133481374,-86.16827130317688],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 365\"}},{\"options\":{\"radius\":58.65382592047451,\"center\":[39.70216810189614,-86.26136541366577],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 366\"}},{\"options\":{\"radius\":49.41251674226461,\"center\":[39.72057318698104,-86.2251877784729],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 367\"}},{\"options\":{\"radius\":57.6120048709677,\"center\":[39.735343222569824,-86.19881629943848],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 368\"}},{\"options\":{\"radius\":40.22969028783445,\"center\":[39.75141338632425,-86.17892503738403],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 369\"}},{\"options\":{\"radius\":35.61269135647436,\"center\":[39.75764905227233,-86.17233753204346],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 370\"}},{\"options\":{\"radius\":36.9093805642884,\"center\":[39.76160791225513,-86.16553544998169],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 371\"}},{\"options\":{\"radius\":38.89589027430432,\"center\":[39.702745914641866,-86.40296459197998],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 372\"}},null,null,{\"options\":{\"radius\":14.09969041721998,\"center\":[39.77461598423226,-86.17866218090057],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 375\"}},{\"options\":{\"radius\":88.38581223376246,\"center\":[39.605688178320804,-86.16843223571777],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 376\"}},{\"options\":{\"radius\":67.05940671173039,\"center\":[39.63464629387422,-86.17770195007324],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 377\"}},{\"options\":{\"radius\":76.7002705568466,\"center\":[39.663856582926165,-86.18070602416992],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 378\"}},{\"options\":{\"radius\":73.16603998860391,\"center\":[39.6860204065335,-86.17735862731934],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 379\"}},null,{\"options\":{\"radius\":64.0830949504634,\"center\":[39.7370593120002,-86.1681318283081],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 381\"}},{\"options\":{\"radius\":18.272624481896898,\"center\":[39.7566510537369,-86.16562128067017],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 382\"}},{\"options\":{\"radius\":13.130673699190144,\"center\":[39.756585069852996,-86.16209149360657],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 383\"}},{\"options\":{\"radius\":45.98725216612708,\"center\":[39.7221741146697,-86.17748737335205],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 384\"}},{\"options\":{\"radius\":28.07607450968079,\"center\":[39.71108238858869,-86.37470483779907],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 385\"}},{\"options\":{\"radius\":31.252690206182827,\"center\":[39.71763530547468,-86.35762453079224],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 386\"}},{\"options\":{\"radius\":31.355894772535773,\"center\":[39.72717471127201,-86.33700370788574],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 387\"}},{\"options\":{\"radius\":14.988837880215044,\"center\":[39.70679509837735,-86.39005243778229],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 388\"}},{\"options\":{\"radius\":61.36748597373094,\"center\":[39.89666635208064,-86.24258995056152],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 389\"}},{\"options\":{\"radius\":45.27330043797927,\"center\":[39.91095420740544,-86.24915599822998],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 390\"}},{\"options\":{\"radius\":13.8481779253386,\"center\":[39.97829418707537,-86.12702965736389],\"strokeColor\":\"#000000\",\"strokeOpacity\":1,\"strokeWeight\":3,\"fillOpacity\":0.3,\"fillColor\":\"#000000\",\"title\":\"circle 391\"}}],\"kmlfiles\":[],\"routes\":[],\"catlegendenable\":false,\"catlegend\":[],\"legends\":[null,null,null,null,{\"items\":[{\"color\":\"rgb(255, 153, 0)\",\"imageUrl\":\"\",\"name\":\"Union Station to Zionsville\"},{\"color\":\"rgb(0, 0, 153)\",\"imageUrl\":\"\",\"name\":\"Union Station to 106th St.\"},{\"color\":\"rgb(255, 0, 0)\",\"imageUrl\":\"\",\"name\":\"Union Station to Westfield\"},{\"color\":\"rgb(153, 0, 255)\",\"imageUrl\":\"\",\"name\":\"Union Station to Noblesville\"},{\"color\":\"rgb(0, 255, 255)\",\"imageUrl\":\"\",\"name\":\"Union Station to Lawrence\"},{\"color\":\"rgb(255, 0, 255)\",\"imageUrl\":\"\",\"name\":\"Union Station to Cumberland\"},{\"color\":\"rgb(255, 204, 153)\",\"imageUrl\":\"\",\"name\":\"Union Station to Beech Grove\"},{\"color\":\"rgb(0, 255, 0)\",\"imageUrl\":\"\",\"name\":\"Union Station to Greenwood\"},{\"color\":\"rgb(51, 204, 153)\",\"imageUrl\":\"\",\"name\":\"Union Station to Perry\"},{\"color\":\"rgb(204, 204, 204)\",\"imageUrl\":\"\",\"name\":\"Union Station to Mooresville\"},{\"color\":\"rgb(255, 255, 255)\",\"imageUrl\":\"\",\"name\":\"Airport Express\"},{\"color\":\"rgb(0, 0, 255)\",\"imageUrl\":\"\",\"name\":\"Union Station to Plainfield\"},{\"color\":\"rgb(255, 204, 0)\",\"imageUrl\":\"\",\"name\":\"Union Station to Danville\"},{\"color\":\"rgb(153, 153, 153)\",\"imageUrl\":\"\",\"name\":\"Union Station to Brownsburg\"},{\"color\":\"rgb(153, 0, 0)\",\"imageUrl\":\"\",\"name\":\"86th St.\"},{\"color\":\"rgb(0, 153, 0)\",\"imageUrl\":\"\",\"name\":\"38th Street\"},{\"color\":\"rgb(255, 204, 255)\",\"imageUrl\":\"\",\"name\":\"Carmel to UIndy via Keystone Ave.\"},{\"color\":\"rgb(0, 0, 0)\",\"imageUrl\":\"\",\"name\":\"Streetcar\"},{\"color\":\"rgb(0, 0, 0)\",\"imageUrl\":\"\",\"name\":\"Square-Underground\"}],\"name\":\"Rail Key\",\"orientation\":\"9\",\"catID\":\"-1\"}],\"savetime\":\"2013-2-14 23:2:34\"}"); // test 1 2013-08-14 02:07:09 46359 // qoute test 0 0