"use strict"; var train_json_url = ("https://www.googleapis.com/mapsengine/v1/tables/" + "01382379791355219452-08584582962951999356" + "/features?&version=published&maxResults=1000&key=" + "AIzaSyB8k_VTTFxP75_a-na8jrY1Fk8oQClQMt8" + "&maxResults=250"); var station_json_url = ("https://www.googleapis.com/mapsengine/v1/tables/" + "01382379791355219452-17620014524089761219" + "/features?&version=published&maxResults=1000&key=" + "AIzaSyB8k_VTTFxP75_a-na8jrY1Fk8oQClQMt8"); if (document.location.hostname == "localhost") { train_json_url = "./sample-data/amtrak-sample.json"; station_json_url = "./sample-data/amtrak-stations.json"; } function isStation(s) {return s.substring(0, 7) == 'Station';} function stationIdx(s) {return parseInt(s.substring(7) - 1);} function TrainData(ctx) { ctx.on('refresh-train-data', function() { d3.json(train_json_url, function(error, train_data) { window.train_data = train_data; train_data.features.forEach(function(train) { var props = train.properties; props.stops = []; for (var p in props) { if (isStation(p)) { props.stops[stationIdx(p)] = JSON.parse(props[p]); } } }); ctx.trigger('train-data', train_data); }); }); ctx.on('refresh-station-data', function() { d3.json(station_json_url, function(error, station_data) { window.station_data = station_data; ctx.trigger('station-data', station_data); }); }); }