//global variables
var tableid = 1101908;
var tableid2 = 1101642;
var latlng = new google.maps.LatLng(43.802819,-90.834961);
var zoom = 7;
var map;
var layer;
var layer2;
var infowindow;
var infoWindowContent = '';
var geocoder = new google.maps.Geocoder();
var coordinate;
function initialize() {
// Initialize the map
map = new google.maps.Map(document.getElementById('map_canvas'), {
center: latlng,
zoom: zoom,
scrollwheel: false,
disableDragging: true,
mapTypeControl: false,
navigationControl: true,
streetViewControl: false,
scaleControl: false,
mapTypeId: google.maps.MapTypeId.ROADMAP,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.LARGE,
position: google.maps.ControlPosition.RIGHT_TOP}
});
//style the map
var style = [
{
featureType: 'all',
elementType: 'all',
stylers: [
{ saturation: -50 }
]
} ,
{
featureType: 'road.arterial',
elementType: 'all',
stylers: [
{ visibility: 'off' }
]
} ,
{
featureType: 'road.local',
elementType: 'all',
stylers: [
{ visibility: 'off' }
]
} ,
{
featureType: 'administrative.province',
elementType: 'all',
stylers: [
{ visibility: 'on' }
]
} ,
{
featureType: 'administrative.locality',
elementType: 'all',
stylers: [
{ visibility: 'on' }
]
} ,
{
featureType: 'administrative.neighborhood',
elementType: 'all',
stylers: [
{ visibility: 'off' }
]
} ,
{
featureType: 'administrative.land_parcel',
elementType: 'all',
stylers: [
{ visibility: 'off' }
]
} ,
{
featureType: 'poi',
elementType: 'all',
stylers: [
{ visibility: 'off' }
]
} ,
{
featureType: 'transit',
elementType: 'all',
stylers: [
{ visibility: 'off' }
]
}
];
var styledMapType = new google.maps.StyledMapType(style, {
map: map,
name: 'Styled Map'
});
map.mapTypes.set('map-style', styledMapType);
map.setMapTypeId('map-style');
//hansen only fusion layer & supress fusion info window
layerHansen = new google.maps.FusionTablesLayer(tableid2, {suppressInfoWindows: true});
layerHansen.setQuery("SELECT geometry FROM " + tableid2);
layerHansen.setMap(map);
//intial fusion layer & supress fusion info window
layer = new google.maps.FusionTablesLayer(tableid, {suppressInfoWindows: true});
layer.setQuery("SELECT geometry FROM " + tableid);
layer.setMap(map);
//click listener on initial fusion layer
google.maps.event.addListener(layer, 'click', function(e) {
map.setZoom(7);
if(infowindow) infowindow.close();
else infowindow = new google.maps.InfoWindow();
//info window on initial fusion layer
infoWindowContent = infowindow.setContent(
'<h3>' + e.row['NAMELSAD10'].value + '</h3>' +
'<div id ="recall-date">' +
'<table>' +
'<tbody>' +
'<p style="font-size: 12px; line-height: 8px;"><strong>Recall Primary Election: </strong>' +
e.row['DATE_OF_RECALL_PRIMARY'].value + '</p>' +
'<p style="font-size: 12px; line-height: 8px;"><strong>Recall General Election: </strong>' +
e.row['DATE_OF_RECALL_GENERAL'].value + '</p>' +
'</tbody>' +
'</table>' +
'</div>' +
'<div id ="recall-candidate">' +
'<table id>' +
'<tbody>' +
'<tr>' +
'<th style="width: 90px; color: #ffffff; background-color:' + e.row['LAYER_COLOR'].value + ';">Incumbent</th>' +
'<th style="width: 90px; color: #4F4D4D;">Challenger</th>' +
'<th style="width: 90px; color: #4F4D4D;">Challenger</th>' +
'</tr>' +
'<tr>' + '<td><img src="' + e.row['INCUMBENT_PHOTO_PATH'].value +
'" width="87" height="106" alt="' + e.row['INCUMBENT_NAME'].value + '" />' +
'<td><img src="' + e.row['CHALLENGER1_PHOTO_PATH'].value +
'" width="87" height="106" alt="' + e.row['CHALLENGER1_NAME'].value + '" />' +
'<td><img src="' + e.row['CHALLENGER2_PHOTO_PATH'].value +
'" width="87" height="106" alt="' + e.row['CHALLENGER2_NAME'].value + '" />' + '</tr>' +
'<tr>' + '<td style="font-size: 14px;"><span class="bolder">' + e.row['INCUMBENT_NAME'].value + '</span><br>' +
e.row['INCUMBENT_PARTY'].value + '<br>' + e.row['INCUMBENT_CITY'].value + '</td>' +
'<td style="font-size: 14px;"><span class="bolder">' + e.row['CHALLENGER1_NAME'].value + '</span><br>' +
e.row['CHALLENGER1_PARTY'].value + '<br>' + e.row['CHALLENGER1_CITY'].value + '</td>' +
'<td style="font-size: 14px;"><span class="bolder">' + e.row['CHALLENGER2_NAME'].value + '</span><br>' +
e.row['CHALLENGER2_PARTY'].value + '<br> ' + e.row['CHALLENGER2_CITY'].value + '</td>' + '</tr>' +
'<tr>' +
'<td><a href="' + e.row['INCUMBENT_CAMPAIGN_PAGE'].value + '" target="_blank">Campaign Website</a><br>' +
'<a href="' + e.row['INCUMBENT_STATE_WEB_SITE'].value + '" target="_blank">State Website</a><br>' +
'<a href="' + e.row['INCUMBENT_PROFILE_PAGE'].value + '" target="_blank">MyGov365 Profile</a></td>' +
'<td><a href="' + e.row['CHALLENGER1_SITE'].value + '" target="_blank">Campaign Website</a></td>' +
//'<td><a href="' + e.row['CHALLENGER2_SITE'].value + '" target="_blank">Campaign Website</a></td>' +
'</tr>' +
'</tbody>' +
'</table>' +
'<p style="font-size: 11px;">In 2008, ' +
e.row['INCUMBENT_NAME'].value + ' ' +
e.row['RAN_AGAINST'].value +
' with ' + e.row['2008_VOTE_PERCENT'].value + ' of the vote.</p>' +
'</div>');
infowindow.setPosition(e.latLng);
map.setCenter(e.latLng);
//map.setZoom(9);
infowindow.open(map);
});
//click listener on hansen fusion layer
google.maps.event.addListener(layerHansen, 'click', function(e) {
map.setZoom(7);
if(infowindow) infowindow.close();
else infowindow = new google.maps.InfoWindow();
//info window on hansen fusion layer
infoWindowContent = infowindow.setContent(
'<h3>' + e.row['NAMELSAD10'].value + '</h3>' +
'<div id ="recall-date">' +
'<table>' +
'<tbody>' +
'<p style="font-size: 12px; line-height: 8px;"><strong>Recall General Election: </strong>' +
e.row['DATE_OF_RECALL_GENERAL'].value + '</p>' +
'</tbody>' +
'</table>' +
'</div>' +
'<div id ="recall-candidate">' +
'<table id>' +
'<tbody>' +
'<tr>' +
'<th style="width: 160px; color: #ffffff; background-color:' + e.row['LAYER_COLOR'].value + ';">Incumbent</th>' +
'<th style="width: 160px; color: #4F4D4D;">Challenger</th>' +
'</tr>' +
'<tr>' + '<td><img src="' + e.row['INCUMBENT_PHOTO_PATH'].value +
'" width="87" height="106" alt="' + e.row['INCUMBENT_NAME'].value + '" />' +
'<td><img src="' + e.row['CHALLENGER1_PHOTO_PATH'].value +
'" width="87" height="106" alt="' + e.row['CHALLENGER1_NAME'].value + '" />' + '</tr>' +
'<tr>' + '<td style="font-size: 14px;"><span class="bolder">' + e.row['INCUMBENT_NAME'].value + '</span><br>' +
e.row['INCUMBENT_PARTY'].value + '<br>' + e.row['INCUMBENT_CITY'].value + '</td>' +
'<td style="font-size: 14px;"><span class="bolder">' + e.row['CHALLENGER1_NAME'].value + '</span><br>' +
e.row['CHALLENGER1_PARTY'].value + '<br>' + e.row['CHALLENGER1_CITY'].value + '</td>' + '</tr>' +
'<tr>' +
'<td><a href="' + e.row['INCUMBENT_CAMPAIGN_PAGE'].value + '" target="_blank">Campaign Website</a><br>' +
'<a href="' + e.row['INCUMBENT_STATE_WEB_SITE'].value + '" target="_blank">State Website</a><br>' +
'<a href="' + e.row['INCUMBENT_PROFILE_PAGE'].value + '" target="_blank">MyGov365 Profile</a></td>' +
'<td><a href="' + e.row['CHALLENGER1_SITE'].value + '" target="_blank">Campaign Website</a></td>' +
'</tr>' +
'</tbody>' +
'</table>' +
'<p style="font-size: 11px;">In 2008, ' +
e.row['INCUMBENT_NAME'].value + ' ' +
e.row['RAN_AGAINST'].value +
' with ' + e.row['2008_VOTE_PERCENT'].value + ' of the vote.</p>' +
'</div>');
infowindow.setPosition(e.latLng);
map.setCenter(e.latLng);
//map.setZoom(9);
infowindow.open(map);
});
}
//write the map
window.setTimeout('initialize()', 500);