';
} else {
var eventDateString = eventDetails.in_active_range ? eventDetails.starts_at+'
' : '';
var contentString = ''+
'
'+
//
'
'+
'
'+
'
'+
eventDateString+
'' + (eventDetails.address_city_etc || '') + '' +
'
'+
'
More details »
'+
//
'
RSVP
'+
'
'+
'
';
}
var infowindow = new google.maps.InfoWindow();
infoWindowStorage.push(infowindow);
var r = 10;
var markerDot = {
path: 'M 0 0 m -'+(r)+', 0 a '+(r)+','+(r)+' 0 1,0 '+(r*2)+',0 a '+(r)+','+(r)+' 0 1,0 -'+(r*2)+',0',
fillColor: '#2691E2',
fillOpacity: 0.8,
scale: 1,
strokeColor: '#000000', //'#2691E2',
strokeWeight: 2
};
var markerDotUnavailable = {
path: 'M 0 0 m -'+(r)+', 0 a '+(r)+','+(r)+' 0 1,0 '+(r*2)+',0 a '+(r)+','+(r)+' 0 1,0 -'+(r*2)+',0',
fillColor: '#c3645c',
fillOpacity: 0.8,
scale: 1,
strokeColor: '#000000', //'#2691E2',
strokeWeight: 2
};
var marker = new google.maps.Marker({
map: map,
icon: eventDetails.is_in_past ? markerDotUnavailable : markerDot,
animation: google.maps.Animation.DROP,
position: latlng
});
markerStorage.push(marker);
if (eventDetails.is_in_past) { markersPast.push(marker)};
window.latlngbounds.extend(latlng);
var openInfoWindow = function() {
$.each(infoWindowStorage, function() {
this.close();
});
infowindow.close();
infowindow.open(map,marker);
// get more event details from API just for markers that are clicked
var finalContent = updateInfoContent(eventDetails, infowindow, contentString)
infowindow.setContent(finalContent);
mapInteractionEvent({type: 'click', source: 'markeropen'});
return finalContent // for testing
}
google.maps.event.addListener(marker, 'click', openInfoWindow);
marker.open = openInfoWindow
//center and zoom map on all markers
map.fitBounds(window.latlngbounds);
// Set marker in eventLinkData
eventLinkData[eventDetails.id] = eventLinkData[eventDetails.id] || {};
eventLinkData[eventDetails.id].marker = marker;
} // addMarker
function addMarkersAPI() {
if (window.eventCount && markers.length === 0) {
console.log("adding markers from API data");
for (var i=0; i = 2) {
$('#use-search').show();
}
$('#map-header-loading').hide();
$('#event-count').html(eventCount);
$('#all-events-title').show();
$('#event-search-form-wrapper').show();
$('#giraffe-map-canvas').show();
// the map keeps zooming out unless we call fitBounds and specify
// zero padding
map.fitBounds(window.latlngbounds, 0);
if (window.eventCount > 500) {
if (typeof window.MarkerClusterer != 'undefined') {
if (window.markerCluster) {
window.markerCluster.clearMarkers();
}
var mcOptions = {gridSize: 50, maxZoom: 15, imagePath: 'https://static.moveon.org/js-marker-clusterer/images/m'};
window.markerCluster = new MarkerClusterer(map, markers, mcOptions);
}
}
} // addMarkersAPI
function zoomToSearchResults() {
// this function fires only when there's already a map object
// and we're moving to a context with some search results
console.log("zoom existing map to search results");
window.searchResultsMarkers = []
window.searchResultsInfoWindows = []
}
function togglePastEventVisibility() {
for (var i=0; i
Join an Election House Party!
Abortion rights are on the ballot this November—we have to fight to elect candidates that will expand reproductive rights and protect our bodily autonomy.
MoveOn members will come together at Election House Parties May 2-5 to write postcards focused on reproductive freedom to voters in battleground states!
Find and RSVP to an event near you, or scroll down to create an event of your own.