Another Google Map - Chicago Elementary Schools: Magnet Programs

Published Monday, November 12, 2007 10:32 PM

Continuing with my google map exploration, I plotted out all elementary magnet schools (based on CPS website) on a google map. One thing different is that, instead of downloading a text file, the data that the map rests on is an xml file. And the code for parsing XML file is listed below. I also added a prettier information window.

function initialize() {if (GBrowserIsCompatible()) {

 

map =
new GMap2(document.getElementById("map_canvas"));

map.addControl(new GLargeMapControl());

map.addControl(new GMapTypeControl());

 

map.addControl(new GMapTypeControl());

map.setCenter(new GLatLng(41.940455,-87.667045), 10);

 

geocoder =
new GClientGeocoder();

bounds = new GLatLngBounds();

baseIcon = new GIcon();

baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";

baseIcon.iconSize = new GSize(16, 16);

baseIcon.shadowSize = new GSize(37, 34);

baseIcon.iconAnchor = new GPoint(9, 34);

baseIcon.infoWindowAnchor = new GPoint(9, 2);

baseIcon.infoShadowAnchor = new GPoint(18, 25);

//load chicago school data

GDownloadUrl("data/chicagomagnetschools.xml", process_it);

}

else {alert("Sorry, the Google Maps API is not compatible with this browser");

}

}

 

// === Define the function thats going to process the text file ===

process_it = function(data, responseCode) {

// To ensure against HTTP errors that result in null or bad data,

// always check status code is equal to 200 before processing the data

if(responseCode == 200) { var xml = GXml.parse(data);

// === split the document into lines ===

var schools = xml.documentElement.getElementsByTagName("school");

 

for (var i = 0; i <schools.length; i++) { var schoolname, img, url, address, address2, lat, lng, image;

 

var nodes=schools[i].childNodes;

// alert(node.length);

for (var j=0; j < nodes.length; j++)

{

switch(nodes[j].tagName)

{

case "fullname":

schoolname=nodes[j].text;

break;

case "img":

img=nodes[j].text;

break;

case "url":

url=nodes[j].text;

break;

case "address":

address=nodes[j].text;

break;

case "address2":

address2=nodes[j].text;

break;

case "lat":

lat=nodes[j].text;

break;

case "lng":

lng=nodes[j].text;

 

break;case "image":

image=nodes[j].text;

break;

}

//

// var point = new GLatLng(parseFloat(lat),parseFloat(lng));

// map.addOverlay(new GMarker(point));

}

// alert(lats[i]);

var point = new GLatLng(parseFloat(lat),parseFloat(lng)); var info="<div align=center><img src=" + img + "><br><a href=" + url + ">" + schoolname + "</a><br><br>" + address + "<br>" + address2+ "</div>";

// map.addOverlay(new GMarker(point));

var marker=createMarker(point,image,info);

map.addOverlay(marker);

}

 

}

else if(responseCode == -1) { alert("Data request timed out. Please try later.");

}

 else

{

 alert("Request resulted in error. Check XML file is retrievable.");

}

}

 

function createMarker(point, image, info) {

var icon = new GIcon(baseIcon);

icon.image = image;

var marker = new GMarker(point, icon);

 

GEvent.addListener(marker,
"click", function() {

marker.openInfoWindowHtml(info);

});

 

return marker;

}

 

The online map is availabe at here:  http://www.codexd.info/googlemaps/chicagomagnetprograms.htm

The XML data file is availabe at here: http://www.codexd.info/googlemaps/data/chicagomagnetschools.xml

by xxxd
Filed under:

Comments

# backlisten Blog Archive » Another Google Map - Chicago Elementary Schools: Magnet Programs said on Sunday, November 18, 2007 7:22 PM

Pingback from  backlisten  Blog Archive   &raquo; Another Google Map - Chicago Elementary Schools: Magnet Programs

#   Another Google Map - Chicago Elementary Schools: Magnet Programs by planetsq said on Wednesday, November 21, 2007 11:06 PM

Pingback from  &nbsp; Another Google Map - Chicago Elementary Schools: Magnet Programs&nbsp;by&nbsp;planetsq

# http://dotnetslackers.com/community/blogs/xun/archive/2007/11/12/another-google-map-chicago-elementary-schools-magnet-programs.aspx said on Sunday, March 23, 2008 3:26 AM

Pingback from  dotnetslackers.com/.../another-google-map-chicago-elementary-schools-magnet-programs.aspx

This site

This Blog

Syndication

Sponsors

  • MaximumASP
  • Social Bookmarking
    Online Shopping
    asp.net hosting
    UK online local dating