var map, manager;
//var centerLatitude = 40.736462, centerLongitude = -73.98777, startZoom = 12;
var centerLatitude = 44.232215, centerLongitude = -76.486612, startZoom = 15;
function createMarkerClickHandler(marker, abbr, address, category, squarefoot, leaserate, includes, comments, filename) {
return function() {
strOut ='
';
strOut +=''+address+'
';
strOut +='Property Type: '+category+'
';
strOut +='Square Footage: '+address+'
';
strOut +='more info...
';
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.abbr, pointData.address, pointData.category, pointData.squarefoot, pointData.leaserate, pointData.includes, pointData.comments, pointData.filename);
GEvent.addListener(marker, "click", handler);
var listItem = document.createElement('li');
listItem.innerHTML = ' | '+pointData.abbr+' '+ pointData.address + ' Property Type: '+ pointData.category + ' Square Footage: '+ pointData.squarefoot + ' Lease Rate: '+ pointData.leaserate + ' Inclusions/Extras: '+ pointData.includes + ' Comments: '+ pointData.comments + '
|
';
//listItem.getElementsByTagName('a')[0].onclick = handler;
document.getElementById('sidebar-locations-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;