Index: trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java
===================================================================
--- trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java	(revision 228)
+++ trunk/src/tmcsim/cadsimulator/managers/TrafficModelManager.java	(revision 248)
@@ -1,4 +1,5 @@
 package tmcsim.cadsimulator.managers;
 
+import atmsdriver.GoogleMapAnimator;
 import atmsdriver.model.Highways;
 import atmsdriver.model.LoopDetector;
@@ -8,4 +9,5 @@
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
+import java.io.PrintWriter;
 import java.rmi.RemoteException;
 import java.text.ParseException;
@@ -208,4 +210,7 @@
             wtConsole.start();
         }
+        // Always write to json for google map display
+        Thread wtJson = new WriteToJsonThread();
+        wtJson.start();
     }
     /** Accessor to event queue
@@ -403,11 +408,63 @@
             while (true)
             {
-                 // Write the highway network status to the FEP Simulator
+                 // Write the highway network status to the Console
                  System.out.println(highways.toString());
-
-                // Wait for FEP Sim to process the data we just sent
+                // Output the highway model 
+                String geojson = highways.toJson();
+                //System.out.println(geojson); // diagnostic
+                PrintWriter out;
+                try
+                {
+                    out = new PrintWriter("highways.json");
+                    out.print(geojson);
+                    out.close();
+                }
+                catch (FileNotFoundException ex)
+                {
+                    Logger.getLogger(GoogleMapAnimator.class.getName()).log(Level.SEVERE, null, ex);
+                }
+                // Wait for Google Map to process the data we just sent
                 try
                 {
                     Thread.sleep(5000);
+                }
+                catch (InterruptedException ie)
+                {
+                    ie.printStackTrace();
+                }
+            }
+
+        }
+    }
+    /** Writes the highway model to a GeoJson file for reading
+     *  by Google Maps.
+     */
+    class WriteToJsonThread extends Thread
+    {
+
+        public void run()
+        {
+            System.out.println("WriteToJson Thread starting.");
+            // Run indefinitely
+            while (true)
+            {
+                 // Write the highway network status to Json
+                String geojson = highways.toJson();
+                PrintWriter out;
+                try
+                {
+                    // currently writes to local file
+                    out = new PrintWriter("highways.json");
+                    out.print(geojson);
+                    out.close();
+                }
+                catch (FileNotFoundException ex)
+                {
+                    Logger.getLogger(GoogleMapAnimator.class.getName()).log(Level.SEVERE, null, ex);
+                }
+                // Wait for Google Map to process the data we just sent
+                try
+                {
+                    Thread.sleep(30000);
                 }
                 catch (InterruptedException ie)
