Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //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);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement