function load()
{
  if (!GBrowserIsCompatible()) {
    document.write("Your browser isn't compatible with drawing a map on this page.");
    return;
  }
  var map = new GMap2(document.getElementById("map"));
  map.addControl(new GSmallMapControl());
  map.addControl(new GMapTypeControl());
  beginUpdating(map);
}

function beginUpdating(map) {
  var xmlreq;
  var marker = null;
  var oldFeature = { "type": "FeatureCollection",
"features": [
]
}
.features[0];
  var latlng = feature2latlng(oldFeature);
  marker = new GMarker(latlng);
  map.addOverlay(marker);
  map.setCenter(latlng, 10);
  function feature2latlng(feature) {
    var pos = feature.geometry.coordinates;
    return new GLatLng(pos[1], pos[0]);
  }
  try {
    xmlreq = new XMLHttpRequest();
  } catch(e) { xmlreq = new ActiveXObject("Microsoft.XMLHTTP"); }
  xmlreq.onreadystatechange = stateChanged;
  setInterval(updatePos, 1000*60*5);
  function updatePos() {
    xmlreq.open("POST", "latitude.php", true);
    xmlreq.send();
  }
  function stateChanged() {
    if (xmlreq.readyState != 4 || xmlreq.status != 200) return;
    var geoLatitude = JSON.parse(xmlreq.responseText);
    var feature = geoLatitude.features[0];
    var pos = feature.geometry.coordinates;
    var latlng = new GLatLng(pos[1], pos[0]);
    var dist = latlng.distanceFrom(marker.getLatLng());
    if (feature.accuracyInMeters <= oldFeature.accuracyInMeters) {
      marker.setLatLng(latlng);
      map.setCenter(latlng);
    }
    oldFeature = feature;
  }
}

try {
  JSON.parse("{}");
} catch(e) {
  JSON = { parse: eval };
}

