var map, manager; //var centerLatitude = 40.736462, centerLongitude = -73.98777, startZoom = 12; var centerLatitude = 44.232215, centerLongitude = -76.486612, startZoom = 15; function createMarkerClickHandler(marker, name, web, address1, address2, phone) { return function() { strOut ='

'; if(web!="") strOut +=''+name+'
'; else strOut +=''+name+'
'; if(address1!=""){ strOut += address1+'
'; strOut += address2+'

'; } if(phone != "") strOut +='Phone: '+phone+'
'; if(web != "") strOut += 'Web: '+web+'
'; strOut +='

'; marker.openInfoWindowHtml(strOut); return false; }; } function createMarker(pointData) { var latlng = new GLatLng(pointData.latitude, pointData.longitude); var icon = new GIcon(); icon.image = '/images/red-marker.png'; icon.iconSize = new GSize(24, 24); icon.iconAnchor = new GPoint(12, 12); icon.infoWindowAnchor = new GPoint(25, 7); opts = { "icon": icon, "clickable": true, "labelText": pointData.abbr, "labelOffset": new GSize(-16, -16) }; var marker = new LabeledMarker(latlng, opts); var handler = createMarkerClickHandler(marker, pointData.name, pointData.web, pointData.address1, pointData.address2, pointData.phone); GEvent.addListener(marker, "click", handler); var listItem = document.createElement('li'); listItem.innerHTML = '
'+pointData.abbr+'
  ' + pointData.name + '
   ' + pointData.address1 + ' - ' + pointData.phone + '
'; listItem.getElementsByTagName('a')[0].onclick = handler; document.getElementById('sidebar-list').appendChild(listItem); return marker; } function windowHeight() { // Standard browsers (Mozilla, Safari, etc.) if (self.innerHeight) { return self.innerHeight; } // IE 6 if (document.documentElement && document.documentElement.clientHeight) { return document.documentElement.clientHeight; } // IE 5 if (document.body) { return document.body.clientHeight; } // Just in case. return 0; } function init() { map = new GMap(document.getElementById("map")); //map.addControl(new GSmallMapControl()); map.addControl(new GLargeMapControl()); map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom); map.addControl(new GMapTypeControl()); manager = new MarkerManager(map); // This is a sorting trick, don't worry too much about it. markers.sort(function(a, b) { return (a.abbr > b.abbr) ? +1 : -1; }); batch = []; for(id in markers) { if (id >= 0){ batch.push(createMarker(markers[id])); } } manager.addMarkers(batch, 11); manager.refresh(); } window.onload = init; window.onunload = GUnload;