text: var map; //Google Map
  var randomPoint; //Random Lat/Long Point
  var isWithinCity;
  var placeArea = new Object();
  var placePolygon = [];
  var polygon;
  var gLat;
  var gLng;
  var gHeading;
  var gPitch;
  var gId;
  var green;
  var shadow;
  var shape;
  
  function initialize() {
      extendGmaps();
      
      green = new google.maps.MarkerImage(
        '/static/img/marker-images/green.png',
        new google.maps.Size(16,26),
        new google.maps.Point(0,0),
        new google.maps.Point(8,26)
      );
  
      shadow = new google.maps.MarkerImage(
        '/static/img/marker-images/shadow.png',
        new google.maps.Size(32,26),
        new google.maps.Point(0,0),
        new google.maps.Point(8,26)
      );
  	center_map('0','0');
  }
  
  // Gmaps API extension
  
  // Polygon getBounds extension - google-maps-extensions
  // http://code.google.com/p/google-maps-extensions/source/browse/google.maps.Polygon.getBounds.js
  function extendGmaps() {
  
      if (!google.maps.Polygon.prototype.getBounds) {
        google.maps.Polygon.prototype.getBounds = function(latLng) {
          var bounds = new google.maps.LatLngBounds();
          var paths = this.getPaths();
          var path;
      
          for (var p = 0; p < paths.getLength(); p++) {
            path = paths.getAt(p);
            for (var i = 0; i < path.getLength(); i++) {
              bounds.extend(path.getAt(i));
            }
          }
  
          return bounds;
        }
      }
  
      // Polygon containsLatLng - method to determine if a latLng is within a polygon
      google.maps.Polygon.prototype.containsLatLng = function(latLng) {
        // Exclude points outside of bounds as there is no way they are in the poly
        var bounds = this.getBounds();
  
        if(bounds != null && !bounds.contains(latLng)) {
          return false;
        }
  
        // Raycast point in polygon method
        var inPoly = false;
  
        var numPaths = this.getPaths().getLength();
        for(var p = 0; p < numPaths; p++) {
          var path = this.getPaths().getAt(p);
          var numPoints = path.getLength();
          var j = numPoints-1;
  
          for(var i=0; i < numPoints; i++) { 
            var vertex1 = path.getAt(i);
            var vertex2 = path.getAt(j);
  
            if (vertex1.lng() < latLng.lng() && vertex2.lng() >= latLng.lng() || vertex2.lng() < latLng.lng() && vertex1.lng() >= latLng.lng())  {
              if (vertex1.lat() + (latLng.lng() - vertex1.lng()) / (vertex2.lng() - vertex1.lng()) * (vertex2.lat() - vertex1.lat()) < latLng.lat()) {
                inPoly = !inPoly;
              }
            }
  
            j = i;
          }
        }
  
        return inPoly;
      }
  }
      
  function center_map(lat,lng){
      var location = new google.maps.LatLng(lat,lng);
      var mapOptions = {
        center: location,
        zoom: 14,
        mapTypeId: google.maps.MapTypeId.HYBRID
      };
      var map = new google.maps.Map(document.getElementById("map4"), mapOptions);
      marker = new google.maps.Marker({
        draggable: false,
        raiseOnDrag: false,
        icon: green,
        shadow: shadow,
        shape: shape,
        animation: google.maps.Animation.DROP,
        map: map,
        position: location
      });
  
          //google.maps.event.addListener(marker, 'click', toggleBounce);     
  }