www.ire.org
|
|
|
|
|
History
How we started, Bylaws, The Arizona Project, Endowment
|
Membership
Benefits,
How to Join, Find an Investigative Journalist, Listservs, Update Your Address
|
Training
Conferences, Seminars,
Fellowships, Training Materials |
Resource Center
20,000-plus investigative stories,
2,000 Tipsheets, Reporting Guides, Beat Sources |
Broadcast Center
Videostreamed clips, IRE feeds, IRE videos |
Database Library
Government database collection,
Data analysis |
Campaign Finance Information Center
Campaign Finance Database, Stories |
FOI Center
Columns, Awards, FOIA Database, Tipsheets |
The IRE Store
Books, Audio tapes, Databases,
Periodicals, IRE Logo Goods |
Job Center
Hot jobs in journalism, latest
fellowships and grants |
IRE Awards
Latest contest, Past winners,
How to enter |
Educators
IRE Journalism Educators'
Center |
IRE Board
Elected members,
Committees |
IRE Staff
Staff members,
Contacting us |
Privacy Policy
|
|
|
From HEADLINE HERE, in the May/June 2006 issue of Uplink. Chase Davis offers this bit of code used to plot your newly created polylines using Shp2XML. This easy-to-use Windows interface converts shapefiles into Google Maps-ready XML in about three clicks of the mouse.
function load() {
var icon = new GIcon();
icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
icon.iconSize = new GSize(12, 20);
icon.shadowSize = new GSize(22, 20);
icon.iconAnchor = new GPoint(6, 20);
icon.infoWindowAnchor = new GPoint(5, 1);
function createMarker(point, tract_id) {
var marker = new GMarker(point, icon);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml("This is tract " + tract_id + "");
});
map.addOverlay(marker);
return marker;
}
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(38.981, -92.333), 9);
GDownloadUrl("polyline.xml", function(data) {
var xml = GXml.parse(data);
var areas = xml.documentElement.getElementsByTagName("shape");
for (var a = 0; a < areas.length; a++) {
var color = areas[a].getAttribute("color");
var markers = areas[a].getElementsByTagName("marker");
var tract_id = areas[a].getAttribute("name");
var points = [];
var center_lat = 0.0;
var center_lng = 0.0;
for (var i = 0; i < markers.length; i++) {
center_lat += parseFloat(markers[i].getAttribute("lat"));
center_lng += parseFloat(markers[i].getAttribute("lng"));
points[i] = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng")));
}
map.addOverlay(new GPolyline(points, color, 3, 0.5));
center_lat = center_lat / markers.length;
center_lng = center_lng / markers.length;
point = new GLatLng(center_lat,center_lng);
createMarker(point, tract_id);
}
});
}
}
|