// 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 = ''+
'Locations: ';
if( g.data.crowdmap.mode == "edit"){
inb_content += ''+
''+
' ';
}
inb_content +='
';
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 = '';
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 = '';
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+= ''+cs_data+' ';
}
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'+g.data.legends[i].name;
l_content+='';
for (var j=0;j';
if ( g.data.legends[i].items[j].imageUrl != undefined && g.data.legends[i].items[j].imageUrl != ""){
if ( g.data.legends[i].items[j].imageUrl >= 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+= ' '+g.data.legends[i].items[j].name+' ';
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 = '';
loginCount++;
}
}
var content="";
content+=''+
'
'+
'
'+
//'
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+='';
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