Commit f609199094216ec6d02f33ecbd0e9a334bba0851

Authored by Paul Wallace
1 parent bc2b875f6c
Exists in master

Testing for A5 final push

Showing 7 changed files with 78 additions and 8 deletions Inline Diff

File was created 1 {
2 spots:[
3 { "found" : "1", "score" : "60", "grade" : "C", "gradedetail" : "C+", "color" : "e5e209", "density" : "50", "location" : "Louisville, KY", "datasetid" : "174", "latitude" : "38.08809", "longitude" : "-85.679626", "message" : "OK" }
4 ]
5
var express = require('express'); 1 1 var express = require('express');
2 2
var crime = require('./routes/crime'); 3 3 var crime = require('./routes/crime');
4 4
var app = express(); 5 5 var app = express();
6 6
app.set('port', (process.env.PORT || 5000)); 7 7 app.set('port', (process.env.PORT || 5000));
8 8
app.use(express.static(__dirname + '/public')); 9 9 app.use(express.static(__dirname + '/public'));
10 10
// views is directory for all template files 11 11 // views is directory for all template files
app.set('views', __dirname + '/views'); 12 12 app.set('views', __dirname + '/views');
app.set('view engine', 'ejs'); 13 13 app.set('view engine', 'ejs');
14 14
app.get('/', function(request, response) { 15 15 app.get('/', function(request, response) {
response.render('pages/index'); 16 16 response.render('pages/index');
}); 17 17 });
18 18
app.get('/landing', function(request, response) { 19 19 app.get('/landing', function(request, response) {
response.render('pages/landing'); 20 20 response.render('pages/landing');
}); 21 21 });
22 22
23 23
public/stylesheets/main.css View file @ f609199
#alt-routes { 1 1 #alt-routes {
height: 75px; 2 2 height: 75px;
} 3 3 }
4 4
#map { 5 5 #map {
height: 600px; 6 6 height: 600px;
margin-bottom: 10px; 7 7 margin-bottom: 10px;
width: 100%; 8 8 width: 100%;
} 9 9 }
10 10
#map-top { 11 11 #map-top {
margin-bottom: 30px; 12 12 margin-bottom: 30px;
} 13 13 }
14 14
.img-responsive { 15 15 .img-responsive {
margin: 0 auto; 16 16 margin: 0 auto;
} 17 17 }
18 18
.status { 19 19 .status {
margin-top: 5px; 20 20 margin-top: 5px;
} 21 21 }
22 22
.text-field { 23 23 .text-field {
margin-top: 30px; 24 24 margin-top: 30px;
margin-bottom: 30px; 25 25 margin-bottom: 30px;
} 26 26 }
27 27
.center-this { 28 28 .center-this {
margin: 0 auto; 29 29 margin: 0 auto;
width: 100%; 30 30 width: 100%;
} 31 31 }
32 32
.btn-space{ 33 33 .btn-space{
routes/crime.js View file @ f609199
var unirest = require('unirest'); 1 1 var unirest = require('unirest');
2 2
exports.view = function(req, res){ 3 3 exports.view = function(req, res){
4 4
unirest.get("https://yourmapper2.p.mashape.com/datasetlist?format=json&maxlat=40&maxlon=-70&minlat=30&minlon=-90&num=5&sort=location") 5 5 // unirest.get("https://yourmapper2.p.mashape.com/datasetlist?format=json&maxlat=40&maxlon=-70&minlat=30&minlon=-90&num=5&sort=location")
.header("X-Mashape-Key", "gj4g6D3zxKmshys7yyf9KNbuywOxp1ueazFjsn6n2fK4sccIGA") 6 6 // .header("X-Mashape-Key", "gj4g6D3zxKmshys7yyf9KNbuywOxp1ueazFjsn6n2fK4sccIGA")
.header("Accept", "application/json") 7 7 // .header("Accept", "application/json")
.end(function (result) { 8 8 // .end(function (result) {
// console.log(result.status, result.headers, result.body); 9 9 // // console.log(result.status, result.headers, result.body);
10 10
}); 11 11 // });
12 12
13 //37.782551, -122.445368
13 14
14
// These code snippets use an open-source library. http://unirest.io/nodejs 15 15 // These code snippets use an open-source library. http://unirest.io/nodejs
unirest.get("https://crimescore.p.mashape.com/crimescore?f=json&id=174&lat=38.08809&lon=-85.679626") 16 16 //generate the json file here, for now just one call to demonstrate it works
17
18 unirest.get("https://crimescore.p.mashape.com/crimescore?f=json&id=174&lat=37.782551&lon=-122.445368")
.header("X-Mashape-Key", "gj4g6D3zxKmshys7yyf9KNbuywOxp1ueazFjsn6n2fK4sccIGA") 17 19 .header("X-Mashape-Key", "gj4g6D3zxKmshys7yyf9KNbuywOxp1ueazFjsn6n2fK4sccIGA")
.header("Accept", "application/json") 18 20 .header("Accept", "application/json")
.end(function (result) { 19 21 .end(function (result) {
res.render('pages/tempcrime', result); 20 22 res.render('pages/tempcrime', result);
23 console.log(result.status, result.headers, result.body);
}); 21 24 });
22 25
23 26
views/pages/index.ejs View file @ f609199
<!DOCTYPE html> 1 1 <!DOCTYPE html>
<html lang="en"> 2 2 <html lang="en">
<head> 3 3 <head>
<% include ../partials/header %> 4 4 <% include ../partials/header %>
</head> 5 5 </head>
6 6
<!-- Homepage --> 7 7 <!-- Homepage -->
8 8
<body> 9 9 <body>
<div class="container-fluid"> 10 10 <div class="container-fluid">
<div class="jumbotron text-center"> 11 11 <div class="jumbotron text-center">
<h1>Safe Routes</h1> 12 12 <h1>Safe Routes</h1>
<p>The best way to find the safest routes.</p> 13 13 <p>The best way to find the safest routes.</p>
</div> 14 14 </div>
15 15
16 <form action="/login">
17
18 <button type="submit" class="btn btn-primary">Log In</button>
19 <!-- <input type="submit" value="Submit"> -->
20 </form>
21
22
23
<!--What are for and type for?--> 16 24 <!--What are for and type for?-->
<!-- current submit button takes you to the landing page --> 17 25 <!-- current submit button takes you to the landing page -->
<form action="/landing"> 18 26 <form action="/landing">
<!-- First text field and label above the text field for current location --> 19 27 <!-- First text field and label above the text field for current location -->
<div class="form-group text-center"> 20 28 <div class="form-group text-center">
<label for="currentLocation">From</label> 21 29 <label for="currentLocation">From</label>
<input type="currentLocation" class="form-control" id="origin" placeholder="Enter Current Location" onchange="saveFrom()"> 22 30 <input type="currentLocation" class="form-control" id="origin" placeholder="Enter Current Location" onchange="saveFrom()">
</div> 23 31 </div>
<!-- Second text field and label above the text field for destination --> 24 32 <!-- Second text field and label above the text field for destination -->
<div class="form-group text-center"> 25 33 <div class="form-group text-center">
<label for="destination">To</label> 26 34 <label for="destination">To</label>
<input type="destination" class="form-control" id="dest" placeholder="Enter Destination" onchange="saveTo()"> 27 35 <input type="destination" class="form-control" id="dest" placeholder="Enter Destination" onchange="saveTo()">
</div> 28 36 </div>
<!-- First travel option button, walking 29 37 <!-- First travel option button, walking
This contains a row that holds buttons of type button. Buttons are highlighted upon selection. 30 38 This contains a row that holds buttons of type button. Buttons are highlighted upon selection.
--> 31 39 -->
<div class="row"> 32 40 <div class="row">
<button type="button" class="btn-default img-thumbnail col-xs-4" onclick="walk();"> 33 41 <button type="button" class="btn-default img-thumbnail col-xs-4" onclick="walk();">
<img class="img-responsive" src="images/pedestrian-walking.svg" alt="Walking Option" width="40" height="40"> 34 42 <img class="img-responsive" src="images/pedestrian-walking.svg" alt="Walking Option" width="40" height="40">
</button> 35 43 </button>
36 44
<!-- Second travel button, driving --> 37 45 <!-- Second travel button, driving -->
<button type="button" class="btn-default img-thumbnail col-xs-4" onclick="drive();"> 38 46 <button type="button" class="btn-default img-thumbnail col-xs-4" onclick="drive();">
<img class="img-responsive" src="images/car-compact.svg" alt="Walking Option" width="40" height="40"> 39 47 <img class="img-responsive" src="images/car-compact.svg" alt="Walking Option" width="40" height="40">
</button> 40 48 </button>
41 49
<!-- Third travel button, bus --> 42 50 <!-- Third travel button, bus -->
<button type="button" class="btn-default img-thumbnail col-xs-4" onclick="bus();"> 43 51 <button type="button" class="btn-default img-thumbnail col-xs-4" onclick="bus();">
<img class="img-responsive" src="images/bus.svg" alt="Walking Option" width="40" height="40"> 44 52 <img class="img-responsive" src="images/bus.svg" alt="Walking Option" width="40" height="40">
</button> 45 53 </button>
</div> 46 54 </div>
47 55
<div class="text-center"> 48 56 <div class="text-center">
<button type="submit" class="btn btn-primary btn-space">Go</button> 49 57 <button type="submit" class="btn btn-primary btn-space">Go</button>
</div> 50 58 </div>
</form> 51 59 </form>
</div> 52 60 </div>
53 61
<!-- Google Map functionality. --> 54 62 <!-- Google Map functionality. -->
<script> 55 63 <script>
function saveFrom() { 56 64 function saveFrom() {
var fromInput = document.getElementById("origin").value; 57 65 var fromInput = document.getElementById("origin").value;
localStorage.setItem("from", fromInput); 58 66 localStorage.setItem("from", fromInput);
} 59 67 }
function saveTo() { 60 68 function saveTo() {
var toInput = document.getElementById("dest").value; 61 69 var toInput = document.getElementById("dest").value;
localStorage.setItem("to", toInput); 62 70 localStorage.setItem("to", toInput);
} 63 71 }
function walk() { 64 72 function walk() {
localStorage.setItem("mode", "WALKING"); 65 73 localStorage.setItem("mode", "WALKING");
} 66 74 }
function drive() { 67 75 function drive() {
localStorage.setItem("mode", "DRIVING"); 68 76 localStorage.setItem("mode", "DRIVING");
} 69 77 }
function bus() { 70 78 function bus() {
localStorage.setItem("mode", "TRANSIT"); 71 79 localStorage.setItem("mode", "TRANSIT");
80 }
views/pages/landing.ejs View file @ f609199
<!DOCTYPE html> 1 1 <!DOCTYPE html>
<html lang="en"> 2 2 <html lang="en">
<head> 3 3 <head>
<% include ../partials/header %> 4 4 <% include ../partials/header %>
<!-- <script type="text/javascript" 5 5 <!-- <script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDAXDHeZXEv4H4ZnThVDxpyAuxVpzOcj_U&libraries=visualization"> 6 6 src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDAXDHeZXEv4H4ZnThVDxpyAuxVpzOcj_U&libraries=visualization">
</script> --> 7 7 </script> -->
8 8
</head> 9 9 </head>
10 10
11 11
<body> 12 12 <body>
<div class="container"> 13 13 <div class="container">
14 14
<!-- My LOCATION --> 15 15 <!-- My LOCATION -->
<div> 16 16 <div>
<input type="text" class="form-control text-field" id="from" name="fromText" placeholder="MY LOCATION"> 17 17 <input type="text" class="form-control text-field" id="from" name="fromText" placeholder="MY LOCATION">
</div> 18 18 </div>
<!-- Destination --> 19 19 <!-- Destination -->
<div> 20 20 <div>
<input type="text" class="form-control text-field" id="to" name="toText" placeholder="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna..."> 21 21 <input type="text" class="form-control text-field" id="to" name="toText" placeholder="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna...">
</div> 22 22 </div>
23 23
<!-- Buttons and status information on top of the map. --> 24 24 <!-- Buttons and status information on top of the map. -->
<div class="container" id="map-top"> 25 25 <div class="container" id="map-top">
<div class="row"> 26 26 <div class="row">
<!-- Status --> 27 27 <!-- Status -->
<div class="col-xs-6"> 28 28 <div class="col-xs-6">
<!-- Title: Current Route --> 29 29 <!-- Title: Current Route -->
<div> 30 30 <div>
Current Route: 31 31 Current Route:
</div> 32 32 </div>
<!-- Icons + Status --> 33 33 <!-- Icons + Status -->
<div class="row status"> 34 34 <div class="row status">
<!-- Safety Rating --> 35 35 <!-- Safety Rating -->
<div class="col-xs-6"> 36 36 <div class="col-xs-6">
80% Safe 37 37 80% Safe
</div> 38 38 </div>
<!-- Travel Duration --> 39 39 <!-- Travel Duration -->
<div class="col-xs-6"> 40 40 <div class="col-xs-6">
10 Mins 41 41 10 Mins
</div> 42 42 </div>
</div> 43 43 </div>
</div> 44 44 </div>
<!-- Alt Routes --> 45 45 <!-- Alt Routes -->
<div class="col-xs-6"> 46 46 <div class="col-xs-6">
<button type="button" class="btn btn-default btn-block" id="alt-routes" onclick="todo()">Alternate Routes</button> 47 47 <button type="button" class="btn btn-default btn-block" id="alt-routes" onclick="todo()">Alternate Routes</button>
</div> 48 48 </div>
</div> 49 49 </div>
</div> 50 50 </div>
51 51
<!-- Div container for map. --> 52 52 <!-- Div container for map. -->
<div id="map"></div> 53 53 <div id="map"></div>
54 54
<!-- Javascript for the map. --> 55 55 <!-- Javascript for the map. -->
<script> 56 56 <script>
57 57
var map, heatmap; 58 58 var map, heatmap;
function initMap() { 59 59 function initMap() {
// Used by the Google Maps Direction API. 60 60 // Used by the Google Maps Direction API.
var directionsService = new google.maps.DirectionsService; 61 61 var directionsService = new google.maps.DirectionsService;
var directionsDisplay = new google.maps.DirectionsRenderer; 62 62 var directionsDisplay = new google.maps.DirectionsRenderer;
// Setting default map location. 63 63 // Setting default map location.
64 64
map = new google.maps.Map(document.getElementById('map'), { 65 65 map = new google.maps.Map(document.getElementById('map'), {
zoom: 13, 66 66 zoom: 13,
center: {lat: 37.775, lng: -122.434} 67 67 center: {lat: 37.775, lng: -122.434}
}); 68 68 });
69 69
heatmap = new google.maps.visualization.HeatmapLayer({ 70 70 heatmap = new google.maps.visualization.HeatmapLayer({
data: getPoints(), 71 71 data: getPoints(),
map: map 72 72 map: map
}); 73 73 });
directionsDisplay.setMap(map); 74 74 directionsDisplay.setMap(map);
75 75
// Keeping the map center when the browser is resized. 76 76 // Keeping the map center when the browser is resized.
function resizing() { 77 77 function resizing() {
var center = map.getCenter(); 78 78 var center = map.getCenter();
google.maps.event.trigger(map, "resize"); 79 79 google.maps.event.trigger(map, "resize");
map.setCenter(center); 80 80 map.setCenter(center);
} 81 81 }
82 82
google.maps.event.addDomListener(window, "resize", resizing); 83 83 google.maps.event.addDomListener(window, "resize", resizing);
84 84
// // Showing route. 85 85 // // Showing route.
displayRoute(directionsService, directionsDisplay); 86 86 displayRoute(directionsService, directionsDisplay);
} 87 87 }
88 88
function displayRoute(directionsService, directionsDisplay) { 89 89 function displayRoute(directionsService, directionsDisplay) {
// Textfields that show from and to. 90 90 // Textfields that show from and to.
document.getElementsByName("fromText")[0].placeholder=localStorage.getItem("from"); 91 91 document.getElementsByName("fromText")[0].placeholder=localStorage.getItem("from");
document.getElementsByName("toText")[0].placeholder=localStorage.getItem("to"); 92 92 document.getElementsByName("toText")[0].placeholder=localStorage.getItem("to");
93 93
var request = { 94 94 var request = {
origin: localStorage.getItem("from"), 95 95 origin: localStorage.getItem("from"),
destination: localStorage.getItem("to"), 96 96 destination: localStorage.getItem("to"),
travelMode: localStorage.getItem("mode") 97 97 travelMode: localStorage.getItem("mode")
}; 98 98 };
99 99
directionsService.route(request, function(response, status) { 100 100 directionsService.route(request, function(response, status) {
if (status === "OK") { 101 101 if (status === "OK") {
directionsDisplay.setDirections(response); 102 102 directionsDisplay.setDirections(response);
} 103 103 }
else { 104 104 else {
window.alert("Directions request failed due to " + status); 105 105 window.alert("Directions request failed due to " + status);
} 106 106 }
}); 107 107 });
} 108 108 }
109 109
function getPoints() { 110 110 function getPoints() {
111 //read json here from passed in parameters
112 //loop here that loops through the passed in json values for points along the route
113 //return the list of objects created from those longitudes and latitudes
114
115 //THIS IS THE CODE TO READ JSON BUT IT'S NOT VIABLE TO CREATE ALL THESE POINTS MANUALLY IN A JSON FILE.
116 //So instead we copy pasted a sample set of points to demonstrate the functionality
117
118 /*var toReturn = [];
119 for (i = 0; i < [insert ejs symbols here]spots.length[insert ejs symbols here]; i++) {
120 toReturn.push(new google.maps.LatLng(insert ejs symbols here spots[i].latutudeinsert ejs symbols here, insert ejs symbols here spots[i].longitudeinsert ejs symbols here));
121 }
122
123 return toReturn;*/
124
125
return [ 111 126 return [
new google.maps.LatLng(37.782551, -122.445368), 112 127 new google.maps.LatLng(37.782551, -122.445368),
new google.maps.LatLng(37.782745, -122.444586), 113 128 new google.maps.LatLng(37.782745, -122.444586),
new google.maps.LatLng(37.782842, -122.443688), 114 129 new google.maps.LatLng(37.782842, -122.443688),
new google.maps.LatLng(37.782919, -122.442815), 115 130 new google.maps.LatLng(37.782919, -122.442815),
new google.maps.LatLng(37.782992, -122.442112), 116 131 new google.maps.LatLng(37.782992, -122.442112),
new google.maps.LatLng(37.783100, -122.441461), 117 132 new google.maps.LatLng(37.783100, -122.441461),
new google.maps.LatLng(37.783206, -122.440829), 118 133 new google.maps.LatLng(37.783206, -122.440829),
new google.maps.LatLng(37.783273, -122.440324), 119 134 new google.maps.LatLng(37.783273, -122.440324),
new google.maps.LatLng(37.783316, -122.440023), 120 135 new google.maps.LatLng(37.783316, -122.440023),
new google.maps.LatLng(37.783357, -122.439794), 121 136 new google.maps.LatLng(37.783357, -122.439794),
new google.maps.LatLng(37.783371, -122.439687), 122 137 new google.maps.LatLng(37.783371, -122.439687),
new google.maps.LatLng(37.783368, -122.439666), 123 138 new google.maps.LatLng(37.783368, -122.439666),
new google.maps.LatLng(37.783383, -122.439594), 124 139 new google.maps.LatLng(37.783383, -122.439594),
new google.maps.LatLng(37.783508, -122.439525), 125 140 new google.maps.LatLng(37.783508, -122.439525),
new google.maps.LatLng(37.783842, -122.439591), 126 141 new google.maps.LatLng(37.783842, -122.439591),
new google.maps.LatLng(37.784147, -122.439668), 127 142 new google.maps.LatLng(37.784147, -122.439668),
new google.maps.LatLng(37.784206, -122.439686), 128 143 new google.maps.LatLng(37.784206, -122.439686),
new google.maps.LatLng(37.784386, -122.439790), 129 144 new google.maps.LatLng(37.784386, -122.439790),
new google.maps.LatLng(37.784701, -122.439902), 130 145 new google.maps.LatLng(37.784701, -122.439902),
new google.maps.LatLng(37.784965, -122.439938), 131 146 new google.maps.LatLng(37.784965, -122.439938),
new google.maps.LatLng(37.785010, -122.439947), 132 147 new google.maps.LatLng(37.785010, -122.439947),
new google.maps.LatLng(37.785360, -122.439952), 133 148 new google.maps.LatLng(37.785360, -122.439952),
new google.maps.LatLng(37.785715, -122.440030), 134 149 new google.maps.LatLng(37.785715, -122.440030),
new google.maps.LatLng(37.786117, -122.440119), 135 150 new google.maps.LatLng(37.786117, -122.440119),
new google.maps.LatLng(37.786564, -122.440209), 136 151 new google.maps.LatLng(37.786564, -122.440209),
new google.maps.LatLng(37.786905, -122.440270), 137 152 new google.maps.LatLng(37.786905, -122.440270),
new google.maps.LatLng(37.786956, -122.440279), 138 153 new google.maps.LatLng(37.786956, -122.440279),
new google.maps.LatLng(37.800224, -122.433520), 139 154 new google.maps.LatLng(37.800224, -122.433520),
new google.maps.LatLng(37.800155, -122.434101), 140 155 new google.maps.LatLng(37.800155, -122.434101),
new google.maps.LatLng(37.800160, -122.434430), 141 156 new google.maps.LatLng(37.800160, -122.434430),
new google.maps.LatLng(37.800378, -122.434527), 142 157 new google.maps.LatLng(37.800378, -122.434527),
new google.maps.LatLng(37.800738, -122.434598), 143 158 new google.maps.LatLng(37.800738, -122.434598),
new google.maps.LatLng(37.800938, -122.434650), 144 159 new google.maps.LatLng(37.800938, -122.434650),
new google.maps.LatLng(37.801024, -122.434889), 145 160 new google.maps.LatLng(37.801024, -122.434889),
new google.maps.LatLng(37.800955, -122.435392), 146 161 new google.maps.LatLng(37.800955, -122.435392),
new google.maps.LatLng(37.800886, -122.435959), 147 162 new google.maps.LatLng(37.800886, -122.435959),
new google.maps.LatLng(37.800811, -122.436275), 148 163 new google.maps.LatLng(37.800811, -122.436275),
new google.maps.LatLng(37.800788, -122.436299), 149 164 new google.maps.LatLng(37.800788, -122.436299),
new google.maps.LatLng(37.800719, -122.436302), 150 165 new google.maps.LatLng(37.800719, -122.436302),
new google.maps.LatLng(37.800702, -122.436298), 151 166 new google.maps.LatLng(37.800702, -122.436298),
new google.maps.LatLng(37.800661, -122.436273), 152 167 new google.maps.LatLng(37.800661, -122.436273),
new google.maps.LatLng(37.800395, -122.436172), 153 168 new google.maps.LatLng(37.800395, -122.436172),
new google.maps.LatLng(37.800228, -122.436116), 154 169 new google.maps.LatLng(37.800228, -122.436116),
new google.maps.LatLng(37.800169, -122.436130), 155 170 new google.maps.LatLng(37.800169, -122.436130),
new google.maps.LatLng(37.800066, -122.436167), 156 171 new google.maps.LatLng(37.800066, -122.436167),
new google.maps.LatLng(37.784345, -122.422922), 157 172 new google.maps.LatLng(37.784345, -122.422922),
new google.maps.LatLng(37.784389, -122.422926), 158 173 new google.maps.LatLng(37.784389, -122.422926),
new google.maps.LatLng(37.784437, -122.422924), 159 174 new google.maps.LatLng(37.784437, -122.422924),
new google.maps.LatLng(37.784746, -122.422818), 160 175 new google.maps.LatLng(37.784746, -122.422818),
new google.maps.LatLng(37.785436, -122.422959), 161 176 new google.maps.LatLng(37.785436, -122.422959),
new google.maps.LatLng(37.786120, -122.423112), 162 177 new google.maps.LatLng(37.786120, -122.423112),
new google.maps.LatLng(37.786433, -122.423029), 163 178 new google.maps.LatLng(37.786433, -122.423029),
new google.maps.LatLng(37.786631, -122.421213), 164 179 new google.maps.LatLng(37.786631, -122.421213),
new google.maps.LatLng(37.786660, -122.421033), 165 180 new google.maps.LatLng(37.786660, -122.421033),
new google.maps.LatLng(37.786801, -122.420141), 166 181 new google.maps.LatLng(37.786801, -122.420141),
new google.maps.LatLng(37.786823, -122.420034), 167 182 new google.maps.LatLng(37.786823, -122.420034),
new google.maps.LatLng(37.786831, -122.419916), 168 183 new google.maps.LatLng(37.786831, -122.419916),
new google.maps.LatLng(37.787034, -122.418208), 169 184 new google.maps.LatLng(37.787034, -122.418208),
new google.maps.LatLng(37.787056, -122.418034), 170 185 new google.maps.LatLng(37.787056, -122.418034),
new google.maps.LatLng(37.787169, -122.417145), 171 186 new google.maps.LatLng(37.787169, -122.417145),
new google.maps.LatLng(37.787217, -122.416715), 172 187 new google.maps.LatLng(37.787217, -122.416715),
new google.maps.LatLng(37.786144, -122.416403), 173 188 new google.maps.LatLng(37.786144, -122.416403),
new google.maps.LatLng(37.785292, -122.416257), 174 189 new google.maps.LatLng(37.785292, -122.416257),
new google.maps.LatLng(37.780666, -122.390374), 175 190 new google.maps.LatLng(37.780666, -122.390374),
new google.maps.LatLng(37.780501, -122.391281), 176 191 new google.maps.LatLng(37.780501, -122.391281),
new google.maps.LatLng(37.780148, -122.392052), 177 192 new google.maps.LatLng(37.780148, -122.392052),
new google.maps.LatLng(37.780173, -122.391148), 178 193 new google.maps.LatLng(37.780173, -122.391148),
new google.maps.LatLng(37.780693, -122.390592), 179 194 new google.maps.LatLng(37.780693, -122.390592),
new google.maps.LatLng(37.781261, -122.391142), 180 195 new google.maps.LatLng(37.781261, -122.391142),
new google.maps.LatLng(37.781808, -122.391730), 181 196 new google.maps.LatLng(37.781808, -122.391730),
new google.maps.LatLng(37.782340, -122.392341), 182 197 new google.maps.LatLng(37.782340, -122.392341),
new google.maps.LatLng(37.782812, -122.393022), 183 198 new google.maps.LatLng(37.782812, -122.393022),
new google.maps.LatLng(37.783300, -122.393672), 184 199 new google.maps.LatLng(37.783300, -122.393672),
new google.maps.LatLng(37.783809, -122.394275), 185 200 new google.maps.LatLng(37.783809, -122.394275),
new google.maps.LatLng(37.784246, -122.394979), 186 201 new google.maps.LatLng(37.784246, -122.394979),
new google.maps.LatLng(37.784791, -122.395958), 187 202 new google.maps.LatLng(37.784791, -122.395958),
new google.maps.LatLng(37.785675, -122.396746), 188 203 new google.maps.LatLng(37.785675, -122.396746),
new google.maps.LatLng(37.786262, -122.395780), 189 204 new google.maps.LatLng(37.786262, -122.395780),
new google.maps.LatLng(37.786776, -122.395093), 190 205 new google.maps.LatLng(37.786776, -122.395093),
new google.maps.LatLng(37.787282, -122.394426), 191 206 new google.maps.LatLng(37.787282, -122.394426),
new google.maps.LatLng(37.787783, -122.393767), 192 207 new google.maps.LatLng(37.787783, -122.393767),
new google.maps.LatLng(37.788343, -122.393184), 193 208 new google.maps.LatLng(37.788343, -122.393184),
new google.maps.LatLng(37.788895, -122.392506), 194 209 new google.maps.LatLng(37.788895, -122.392506),
new google.maps.LatLng(37.789371, -122.391701), 195 210 new google.maps.LatLng(37.789371, -122.391701),
new google.maps.LatLng(37.789722, -122.390952), 196 211 new google.maps.LatLng(37.789722, -122.390952),
new google.maps.LatLng(37.790315, -122.390305), 197 212 new google.maps.LatLng(37.790315, -122.390305),
new google.maps.LatLng(37.790738, -122.389616), 198 213 new google.maps.LatLng(37.790738, -122.389616),
new google.maps.LatLng(37.779448, -122.438702), 199 214 new google.maps.LatLng(37.779448, -122.438702),
new google.maps.LatLng(37.779023, -122.438585), 200 215 new google.maps.LatLng(37.779023, -122.438585),
new google.maps.LatLng(37.778542, -122.438492), 201 216 new google.maps.LatLng(37.778542, -122.438492),
new google.maps.LatLng(37.778100, -122.438411), 202 217 new google.maps.LatLng(37.778100, -122.438411),
new google.maps.LatLng(37.777986, -122.438376), 203 218 new google.maps.LatLng(37.777986, -122.438376),
new google.maps.LatLng(37.777680, -122.438313), 204 219 new google.maps.LatLng(37.777680, -122.438313),
new google.maps.LatLng(37.777316, -122.438273), 205 220 new google.maps.LatLng(37.777316, -122.438273),
new google.maps.LatLng(37.777135, -122.438254), 206 221 new google.maps.LatLng(37.777135, -122.438254),
new google.maps.LatLng(37.776987, -122.438303), 207 222 new google.maps.LatLng(37.776987, -122.438303),
new google.maps.LatLng(37.776946, -122.438404), 208 223 new google.maps.LatLng(37.776946, -122.438404),
new google.maps.LatLng(37.776944, -122.438467), 209 224 new google.maps.LatLng(37.776944, -122.438467),
new google.maps.LatLng(37.776892, -122.438459), 210 225 new google.maps.LatLng(37.776892, -122.438459),
new google.maps.LatLng(37.776842, -122.438442), 211 226 new google.maps.LatLng(37.776842, -122.438442),
new google.maps.LatLng(37.776822, -122.438391), 212 227 new google.maps.LatLng(37.776822, -122.438391),
new google.maps.LatLng(37.776814, -122.438412), 213 228 new google.maps.LatLng(37.776814, -122.438412),
new google.maps.LatLng(37.776787, -122.438628), 214 229 new google.maps.LatLng(37.776787, -122.438628),
new google.maps.LatLng(37.776729, -122.438650), 215 230 new google.maps.LatLng(37.776729, -122.438650),
new google.maps.LatLng(37.776759, -122.438677), 216 231 new google.maps.LatLng(37.776759, -122.438677),
new google.maps.LatLng(37.776772, -122.438498), 217 232 new google.maps.LatLng(37.776772, -122.438498),
new google.maps.LatLng(37.776787, -122.438389), 218 233 new google.maps.LatLng(37.776787, -122.438389),
new google.maps.LatLng(37.776848, -122.438283), 219 234 new google.maps.LatLng(37.776848, -122.438283),
new google.maps.LatLng(37.776870, -122.438239), 220 235 new google.maps.LatLng(37.776870, -122.438239),
new google.maps.LatLng(37.777015, -122.438198), 221 236 new google.maps.LatLng(37.777015, -122.438198),
new google.maps.LatLng(37.777333, -122.438256), 222 237 new google.maps.LatLng(37.777333, -122.438256),
new google.maps.LatLng(37.777595, -122.438308), 223 238 new google.maps.LatLng(37.777595, -122.438308),
new google.maps.LatLng(37.777797, -122.438344), 224 239 new google.maps.LatLng(37.777797, -122.438344),
new google.maps.LatLng(37.778160, -122.438442), 225 240 new google.maps.LatLng(37.778160, -122.438442),
new google.maps.LatLng(37.778414, -122.438508), 226 241 new google.maps.LatLng(37.778414, -122.438508),
new google.maps.LatLng(37.778445, -122.438516), 227 242 new google.maps.LatLng(37.778445, -122.438516),
new google.maps.LatLng(37.778503, -122.438529), 228 243 new google.maps.LatLng(37.778503, -122.438529),
new google.maps.LatLng(37.778607, -122.438549), 229 244 new google.maps.LatLng(37.778607, -122.438549),
new google.maps.LatLng(37.778670, -122.438644), 230 245 new google.maps.LatLng(37.778670, -122.438644),
new google.maps.LatLng(37.778847, -122.438706), 231 246 new google.maps.LatLng(37.778847, -122.438706),
new google.maps.LatLng(37.779240, -122.438744), 232 247 new google.maps.LatLng(37.779240, -122.438744),
new google.maps.LatLng(37.779738, -122.438822), 233 248 new google.maps.LatLng(37.779738, -122.438822),
new google.maps.LatLng(37.780201, -122.438882), 234 249 new google.maps.LatLng(37.780201, -122.438882),
new google.maps.LatLng(37.780400, -122.438905), 235 250 new google.maps.LatLng(37.780400, -122.438905),
new google.maps.LatLng(37.780501, -122.438921), 236 251 new google.maps.LatLng(37.780501, -122.438921),
new google.maps.LatLng(37.780892, -122.438986), 237 252 new google.maps.LatLng(37.780892, -122.438986),
new google.maps.LatLng(37.781446, -122.439087), 238 253 new google.maps.LatLng(37.781446, -122.439087),
new google.maps.LatLng(37.781985, -122.439199), 239 254 new google.maps.LatLng(37.781985, -122.439199),
new google.maps.LatLng(37.782239, -122.439249), 240 255 new google.maps.LatLng(37.782239, -122.439249),
new google.maps.LatLng(37.782286, -122.439266), 241 256 new google.maps.LatLng(37.782286, -122.439266),
new google.maps.LatLng(37.797847, -122.429388), 242 257 new google.maps.LatLng(37.797847, -122.429388),
new google.maps.LatLng(37.797874, -122.429180), 243 258 new google.maps.LatLng(37.797874, -122.429180),
new google.maps.LatLng(37.797885, -122.429069), 244 259 new google.maps.LatLng(37.797885, -122.429069),
new google.maps.LatLng(37.797887, -122.429050), 245 260 new google.maps.LatLng(37.797887, -122.429050),
new google.maps.LatLng(37.797933, -122.428954), 246 261 new google.maps.LatLng(37.797933, -122.428954),
new google.maps.LatLng(37.798242, -122.428990), 247 262 new google.maps.LatLng(37.798242, -122.428990),
new google.maps.LatLng(37.798617, -122.429075), 248 263 new google.maps.LatLng(37.798617, -122.429075),
new google.maps.LatLng(37.798719, -122.429092), 249 264 new google.maps.LatLng(37.798719, -122.429092),
new google.maps.LatLng(37.798944, -122.429145), 250 265 new google.maps.LatLng(37.798944, -122.429145),
new google.maps.LatLng(37.799320, -122.429251), 251 266 new google.maps.LatLng(37.799320, -122.429251),
new google.maps.LatLng(37.799590, -122.429309), 252 267 new google.maps.LatLng(37.799590, -122.429309),
new google.maps.LatLng(37.799677, -122.429324), 253 268 new google.maps.LatLng(37.799677, -122.429324),
new google.maps.LatLng(37.799966, -122.429360), 254 269 new google.maps.LatLng(37.799966, -122.429360),
new google.maps.LatLng(37.800288, -122.429430), 255 270 new google.maps.LatLng(37.800288, -122.429430),
new google.maps.LatLng(37.800443, -122.429461), 256 271 new google.maps.LatLng(37.800443, -122.429461),
new google.maps.LatLng(37.800465, -122.429474), 257 272 new google.maps.LatLng(37.800465, -122.429474),
new google.maps.LatLng(37.800644, -122.429540), 258 273 new google.maps.LatLng(37.800644, -122.429540),
new google.maps.LatLng(37.800948, -122.429620), 259 274 new google.maps.LatLng(37.800948, -122.429620),
new google.maps.LatLng(37.801242, -122.429685), 260 275 new google.maps.LatLng(37.801242, -122.429685),
new google.maps.LatLng(37.801375, -122.429702), 261 276 new google.maps.LatLng(37.801375, -122.429702),
new google.maps.LatLng(37.801400, -122.429703), 262 277 new google.maps.LatLng(37.801400, -122.429703),
new google.maps.LatLng(37.801453, -122.429707), 263 278 new google.maps.LatLng(37.801453, -122.429707),
new google.maps.LatLng(37.801473, -122.429709), 264 279 new google.maps.LatLng(37.801473, -122.429709),
new google.maps.LatLng(37.801532, -122.429707), 265 280 new google.maps.LatLng(37.801532, -122.429707),
new google.maps.LatLng(37.801852, -122.429729), 266 281 new google.maps.LatLng(37.801852, -122.429729),
new google.maps.LatLng(37.802173, -122.429789), 267 282 new google.maps.LatLng(37.802173, -122.429789),
new google.maps.LatLng(37.802459, -122.429847), 268 283 new google.maps.LatLng(37.802459, -122.429847),
new google.maps.LatLng(37.802554, -122.429825), 269 284 new google.maps.LatLng(37.802554, -122.429825),
new google.maps.LatLng(37.802647, -122.429549), 270 285 new google.maps.LatLng(37.802647, -122.429549),
new google.maps.LatLng(37.802693, -122.429179), 271 286 new google.maps.LatLng(37.802693, -122.429179),
new google.maps.LatLng(37.802729, -122.428751), 272 287 new google.maps.LatLng(37.802729, -122.428751),
new google.maps.LatLng(37.766104, -122.409291), 273 288 new google.maps.LatLng(37.766104, -122.409291),
new google.maps.LatLng(37.766103, -122.409268), 274 289 new google.maps.LatLng(37.766103, -122.409268),
new google.maps.LatLng(37.766138, -122.409229), 275 290 new google.maps.LatLng(37.766138, -122.409229),
new google.maps.LatLng(37.766183, -122.409231), 276 291 new google.maps.LatLng(37.766183, -122.409231),
new google.maps.LatLng(37.766153, -122.409276), 277 292 new google.maps.LatLng(37.766153, -122.409276),
new google.maps.LatLng(37.766005, -122.409365), 278 293 new google.maps.LatLng(37.766005, -122.409365),
new google.maps.LatLng(37.765897, -122.409570), 279 294 new google.maps.LatLng(37.765897, -122.409570),
new google.maps.LatLng(37.765767, -122.409739), 280 295 new google.maps.LatLng(37.765767, -122.409739),
new google.maps.LatLng(37.765693, -122.410389), 281 296 new google.maps.LatLng(37.765693, -122.410389),
new google.maps.LatLng(37.765615, -122.411201), 282 297 new google.maps.LatLng(37.765615, -122.411201),
new google.maps.LatLng(37.765533, -122.412121), 283 298 new google.maps.LatLng(37.765533, -122.412121),
new google.maps.LatLng(37.765467, -122.412939), 284 299 new google.maps.LatLng(37.765467, -122.412939),
new google.maps.LatLng(37.765444, -122.414821), 285 300 new google.maps.LatLng(37.765444, -122.414821),
new google.maps.LatLng(37.765444, -122.414964), 286 301 new google.maps.LatLng(37.765444, -122.414964),
new google.maps.LatLng(37.765318, -122.415424), 287 302 new google.maps.LatLng(37.765318, -122.415424),
new google.maps.LatLng(37.763961, -122.415296), 288 303 new google.maps.LatLng(37.763961, -122.415296),
new google.maps.LatLng(37.763115, -122.415196), 289 304 new google.maps.LatLng(37.763115, -122.415196),
new google.maps.LatLng(37.762967, -122.415183), 290 305 new google.maps.LatLng(37.762967, -122.415183),
new google.maps.LatLng(37.762278, -122.415127), 291 306 new google.maps.LatLng(37.762278, -122.415127),
new google.maps.LatLng(37.761675, -122.415055), 292 307 new google.maps.LatLng(37.761675, -122.415055),
new google.maps.LatLng(37.760932, -122.414988), 293 308 new google.maps.LatLng(37.760932, -122.414988),
new google.maps.LatLng(37.759337, -122.414862), 294 309 new google.maps.LatLng(37.759337, -122.414862),
new google.maps.LatLng(37.773187, -122.421922), 295 310 new google.maps.LatLng(37.773187, -122.421922),
new google.maps.LatLng(37.773043, -122.422118), 296 311 new google.maps.LatLng(37.773043, -122.422118),
new google.maps.LatLng(37.773007, -122.422165), 297 312 new google.maps.LatLng(37.773007, -122.422165),
new google.maps.LatLng(37.772979, -122.422219), 298 313 new google.maps.LatLng(37.772979, -122.422219),
new google.maps.LatLng(37.772865, -122.422394), 299 314 new google.maps.LatLng(37.772865, -122.422394),
new google.maps.LatLng(37.772779, -122.422503), 300 315 new google.maps.LatLng(37.772779, -122.422503),
new google.maps.LatLng(37.772676, -122.422701), 301 316 new google.maps.LatLng(37.772676, -122.422701),
new google.maps.LatLng(37.772606, -122.422806), 302 317 new google.maps.LatLng(37.772606, -122.422806),
new google.maps.LatLng(37.772566, -122.422840), 303 318 new google.maps.LatLng(37.772566, -122.422840),
new google.maps.LatLng(37.772508, -122.422852), 304 319 new google.maps.LatLng(37.772508, -122.422852),
new google.maps.LatLng(37.772387, -122.423011), 305 320 new google.maps.LatLng(37.772387, -122.423011),
new google.maps.LatLng(37.772099, -122.423328), 306 321 new google.maps.LatLng(37.772099, -122.423328),
new google.maps.LatLng(37.771704, -122.423783), 307 322 new google.maps.LatLng(37.771704, -122.423783),
new google.maps.LatLng(37.771481, -122.424081), 308 323 new google.maps.LatLng(37.771481, -122.424081),
new google.maps.LatLng(37.771400, -122.424179), 309 324 new google.maps.LatLng(37.771400, -122.424179),
new google.maps.LatLng(37.771352, -122.424220), 310 325 new google.maps.LatLng(37.771352, -122.424220),
new google.maps.LatLng(37.771248, -122.424327), 311 326 new google.maps.LatLng(37.771248, -122.424327),
new google.maps.LatLng(37.770904, -122.424781), 312 327 new google.maps.LatLng(37.770904, -122.424781),
new google.maps.LatLng(37.770520, -122.425283), 313 328 new google.maps.LatLng(37.770520, -122.425283),
new google.maps.LatLng(37.770337, -122.425553), 314 329 new google.maps.LatLng(37.770337, -122.425553),
new google.maps.LatLng(37.770128, -122.425832), 315 330 new google.maps.LatLng(37.770128, -122.425832),
new google.maps.LatLng(37.769756, -122.426331), 316 331 new google.maps.LatLng(37.769756, -122.426331),
new google.maps.LatLng(37.769300, -122.426902), 317 332 new google.maps.LatLng(37.769300, -122.426902),
new google.maps.LatLng(37.769132, -122.427065), 318 333 new google.maps.LatLng(37.769132, -122.427065),
new google.maps.LatLng(37.769092, -122.427103), 319 334 new google.maps.LatLng(37.769092, -122.427103),
new google.maps.LatLng(37.768979, -122.427172), 320 335 new google.maps.LatLng(37.768979, -122.427172),
new google.maps.LatLng(37.768595, -122.427634), 321 336 new google.maps.LatLng(37.768595, -122.427634),
new google.maps.LatLng(37.768372, -122.427913), 322 337 new google.maps.LatLng(37.768372, -122.427913),
new google.maps.LatLng(37.768337, -122.427961), 323 338 new google.maps.LatLng(37.768337, -122.427961),
new google.maps.LatLng(37.768244, -122.428138), 324 339 new google.maps.LatLng(37.768244, -122.428138),
new google.maps.LatLng(37.767942, -122.428581), 325 340 new google.maps.LatLng(37.767942, -122.428581),
new google.maps.LatLng(37.767482, -122.429094), 326 341 new google.maps.LatLng(37.767482, -122.429094),
new google.maps.LatLng(37.767031, -122.429606), 327 342 new google.maps.LatLng(37.767031, -122.429606),
new google.maps.LatLng(37.766732, -122.429986), 328 343 new google.maps.LatLng(37.766732, -122.429986),
new google.maps.LatLng(37.766680, -122.430058), 329 344 new google.maps.LatLng(37.766680, -122.430058),
new google.maps.LatLng(37.766633, -122.430109), 330 345 new google.maps.LatLng(37.766633, -122.430109),
new google.maps.LatLng(37.766580, -122.430211), 331 346 new google.maps.LatLng(37.766580, -122.430211),
new google.maps.LatLng(37.766367, -122.430594), 332 347 new google.maps.LatLng(37.766367, -122.430594),
new google.maps.LatLng(37.765910, -122.431137), 333 348 new google.maps.LatLng(37.765910, -122.431137),
new google.maps.LatLng(37.765353, -122.431806), 334 349 new google.maps.LatLng(37.765353, -122.431806),
new google.maps.LatLng(37.764962, -122.432298), 335 350 new google.maps.LatLng(37.764962, -122.432298),
new google.maps.LatLng(37.764868, -122.432486), 336 351 new google.maps.LatLng(37.764868, -122.432486),
new google.maps.LatLng(37.764518, -122.432913), 337 352 new google.maps.LatLng(37.764518, -122.432913),
new google.maps.LatLng(37.763435, -122.434173), 338 353 new google.maps.LatLng(37.763435, -122.434173),
new google.maps.LatLng(37.762847, -122.434953), 339 354 new google.maps.LatLng(37.762847, -122.434953),
new google.maps.LatLng(37.762291, -122.435935), 340 355 new google.maps.LatLng(37.762291, -122.435935),
new google.maps.LatLng(37.762224, -122.436074), 341 356 new google.maps.LatLng(37.762224, -122.436074),
new google.maps.LatLng(37.761957, -122.436892), 342 357 new google.maps.LatLng(37.761957, -122.436892),
new google.maps.LatLng(37.761652, -122.438886), 343 358 new google.maps.LatLng(37.761652, -122.438886),
new google.maps.LatLng(37.761284, -122.439955), 344 359 new google.maps.LatLng(37.761284, -122.439955),
new google.maps.LatLng(37.761210, -122.440068), 345 360 new google.maps.LatLng(37.761210, -122.440068),
new google.maps.LatLng(37.761064, -122.440720), 346 361 new google.maps.LatLng(37.761064, -122.440720),
new google.maps.LatLng(37.761040, -122.441411), 347 362 new google.maps.LatLng(37.761040, -122.441411),
new google.maps.LatLng(37.761048, -122.442324), 348 363 new google.maps.LatLng(37.761048, -122.442324),
new google.maps.LatLng(37.760851, -122.443118), 349 364 new google.maps.LatLng(37.760851, -122.443118),
new google.maps.LatLng(37.759977, -122.444591), 350 365 new google.maps.LatLng(37.759977, -122.444591),
new google.maps.LatLng(37.759913, -122.444698), 351 366 new google.maps.LatLng(37.759913, -122.444698),
new google.maps.LatLng(37.759623, -122.445065), 352 367 new google.maps.LatLng(37.759623, -122.445065),
new google.maps.LatLng(37.758902, -122.445158), 353 368 new google.maps.LatLng(37.758902, -122.445158),
new google.maps.LatLng(37.758428, -122.444570), 354 369 new google.maps.LatLng(37.758428, -122.444570),
new google.maps.LatLng(37.757687, -122.443340), 355 370 new google.maps.LatLng(37.757687, -122.443340),
new google.maps.LatLng(37.757583, -122.443240), 356 371 new google.maps.LatLng(37.757583, -122.443240),
new google.maps.LatLng(37.757019, -122.442787), 357 372 new google.maps.LatLng(37.757019, -122.442787),
new google.maps.LatLng(37.756603, -122.442322), 358 373 new google.maps.LatLng(37.756603, -122.442322),
new google.maps.LatLng(37.756380, -122.441602), 359 374 new google.maps.LatLng(37.756380, -122.441602),
new google.maps.LatLng(37.755790, -122.441382), 360 375 new google.maps.LatLng(37.755790, -122.441382),
new google.maps.LatLng(37.754493, -122.442133), 361 376 new google.maps.LatLng(37.754493, -122.442133),
new google.maps.LatLng(37.754361, -122.442206), 362 377 new google.maps.LatLng(37.754361, -122.442206),
new google.maps.LatLng(37.753719, -122.442650), 363 378 new google.maps.LatLng(37.753719, -122.442650),
new google.maps.LatLng(37.753096, -122.442915), 364 379 new google.maps.LatLng(37.753096, -122.442915),
new google.maps.LatLng(37.751617, -122.443211), 365 380 new google.maps.LatLng(37.751617, -122.443211),
new google.maps.LatLng(37.751496, -122.443246), 366 381 new google.maps.LatLng(37.751496, -122.443246),
new google.maps.LatLng(37.750733, -122.443428), 367 382 new google.maps.LatLng(37.750733, -122.443428),
new google.maps.LatLng(37.750126, -122.443536), 368 383 new google.maps.LatLng(37.750126, -122.443536),
new google.maps.LatLng(37.750103, -122.443784), 369 384 new google.maps.LatLng(37.750103, -122.443784),
new google.maps.LatLng(37.750390, -122.444010), 370 385 new google.maps.LatLng(37.750390, -122.444010),
new google.maps.LatLng(37.750448, -122.444013), 371 386 new google.maps.LatLng(37.750448, -122.444013),
new google.maps.LatLng(37.750536, -122.444040), 372 387 new google.maps.LatLng(37.750536, -122.444040),
new google.maps.LatLng(37.750493, -122.444141), 373 388 new google.maps.LatLng(37.750493, -122.444141),
new google.maps.LatLng(37.790859, -122.402808), 374 389 new google.maps.LatLng(37.790859, -122.402808),
new google.maps.LatLng(37.790864, -122.402768), 375 390 new google.maps.LatLng(37.790864, -122.402768),
new google.maps.LatLng(37.790995, -122.402539), 376 391 new google.maps.LatLng(37.790995, -122.402539),
new google.maps.LatLng(37.791148, -122.402172), 377 392 new google.maps.LatLng(37.791148, -122.402172),
new google.maps.LatLng(37.791385, -122.401312), 378 393 new google.maps.LatLng(37.791385, -122.401312),
new google.maps.LatLng(37.791405, -122.400776), 379 394 new google.maps.LatLng(37.791405, -122.400776),
new google.maps.LatLng(37.791288, -122.400528), 380 395 new google.maps.LatLng(37.791288, -122.400528),
new google.maps.LatLng(37.791113, -122.400441), 381 396 new google.maps.LatLng(37.791113, -122.400441),
new google.maps.LatLng(37.791027, -122.400395), 382 397 new google.maps.LatLng(37.791027, -122.400395),
new google.maps.LatLng(37.791094, -122.400311), 383 398 new google.maps.LatLng(37.791094, -122.400311),
new google.maps.LatLng(37.791211, -122.400183), 384 399 new google.maps.LatLng(37.791211, -122.400183),
new google.maps.LatLng(37.791060, -122.399334), 385 400 new google.maps.LatLng(37.791060, -122.399334),
new google.maps.LatLng(37.790538, -122.398718), 386 401 new google.maps.LatLng(37.790538, -122.398718),
new google.maps.LatLng(37.790095, -122.398086), 387 402 new google.maps.LatLng(37.790095, -122.398086),
new google.maps.LatLng(37.789644, -122.397360), 388 403 new google.maps.LatLng(37.789644, -122.397360),
new google.maps.LatLng(37.789254, -122.396844), 389 404 new google.maps.LatLng(37.789254, -122.396844),
new google.maps.LatLng(37.788855, -122.396397), 390 405 new google.maps.LatLng(37.788855, -122.396397),
new google.maps.LatLng(37.788483, -122.395963), 391 406 new google.maps.LatLng(37.788483, -122.395963),
new google.maps.LatLng(37.788015, -122.395365), 392 407 new google.maps.LatLng(37.788015, -122.395365),
new google.maps.LatLng(37.787558, -122.394735), 393 408 new google.maps.LatLng(37.787558, -122.394735),
new google.maps.LatLng(37.787472, -122.394323), 394 409 new google.maps.LatLng(37.787472, -122.394323),
new google.maps.LatLng(37.787630, -122.394025), 395 410 new google.maps.LatLng(37.787630, -122.394025),
new google.maps.LatLng(37.787767, -122.393987), 396 411 new google.maps.LatLng(37.787767, -122.393987),
new google.maps.LatLng(37.787486, -122.394452), 397 412 new google.maps.LatLng(37.787486, -122.394452),
new google.maps.LatLng(37.786977, -122.395043), 398 413 new google.maps.LatLng(37.786977, -122.395043),
new google.maps.LatLng(37.786583, -122.395552), 399 414 new google.maps.LatLng(37.786583, -122.395552),
new google.maps.LatLng(37.786540, -122.395610), 400 415 new google.maps.LatLng(37.786540, -122.395610),
new google.maps.LatLng(37.786516, -122.395659), 401 416 new google.maps.LatLng(37.786516, -122.395659),
new google.maps.LatLng(37.786378, -122.395707), 402 417 new google.maps.LatLng(37.786378, -122.395707),
new google.maps.LatLng(37.786044, -122.395362), 403 418 new google.maps.LatLng(37.786044, -122.395362),
new google.maps.LatLng(37.785598, -122.394715), 404 419 new google.maps.LatLng(37.785598, -122.394715),
new google.maps.LatLng(37.785321, -122.394361), 405 420 new google.maps.LatLng(37.785321, -122.394361),
new google.maps.LatLng(37.785207, -122.394236), 406 421 new google.maps.LatLng(37.785207, -122.394236),
new google.maps.LatLng(37.785751, -122.394062), 407 422 new google.maps.LatLng(37.785751, -122.394062),
new google.maps.LatLng(37.785996, -122.393881), 408 423 new google.maps.LatLng(37.785996, -122.393881),
new google.maps.LatLng(37.786092, -122.393830), 409 424 new google.maps.LatLng(37.786092, -122.393830),
new google.maps.LatLng(37.785998, -122.393899), 410 425 new google.maps.LatLng(37.785998, -122.393899),
new google.maps.LatLng(37.785114, -122.394365), 411 426 new google.maps.LatLng(37.785114, -122.394365),
new google.maps.LatLng(37.785022, -122.394441), 412 427 new google.maps.LatLng(37.785022, -122.394441),
new google.maps.LatLng(37.784823, -122.394635), 413 428 new google.maps.LatLng(37.784823, -122.394635),
new google.maps.LatLng(37.784719, -122.394629), 414 429 new google.maps.LatLng(37.784719, -122.394629),
new google.maps.LatLng(37.785069, -122.394176), 415 430 new google.maps.LatLng(37.785069, -122.394176),
new google.maps.LatLng(37.785500, -122.393650), 416 431 new google.maps.LatLng(37.785500, -122.393650),
new google.maps.LatLng(37.785770, -122.393291), 417 432 new google.maps.LatLng(37.785770, -122.393291),
new google.maps.LatLng(37.785839, -122.393159), 418 433 new google.maps.LatLng(37.785839, -122.393159),
new google.maps.LatLng(37.782651, -122.400628), 419 434 new google.maps.LatLng(37.782651, -122.400628),
new google.maps.LatLng(37.782616, -122.400599), 420 435 new google.maps.LatLng(37.782616, -122.400599),
new google.maps.LatLng(37.782702, -122.400470), 421 436 new google.maps.LatLng(37.782702, -122.400470),
new google.maps.LatLng(37.782915, -122.400192), 422 437 new google.maps.LatLng(37.782915, -122.400192),
new google.maps.LatLng(37.783137, -122.399887), 423 438 new google.maps.LatLng(37.783137, -122.399887),
new google.maps.LatLng(37.783414, -122.399519), 424 439 new google.maps.LatLng(37.783414, -122.399519),
new google.maps.LatLng(37.783629, -122.399237), 425 440 new google.maps.LatLng(37.783629, -122.399237),
new google.maps.LatLng(37.783688, -122.399157), 426 441 new google.maps.LatLng(37.783688, -122.399157),
new google.maps.LatLng(37.783716, -122.399106), 427 442 new google.maps.LatLng(37.783716, -122.399106),
new google.maps.LatLng(37.783798, -122.399072), 428 443 new google.maps.LatLng(37.783798, -122.399072),
new google.maps.LatLng(37.783997, -122.399186), 429 444 new google.maps.LatLng(37.783997, -122.399186),
new google.maps.LatLng(37.784271, -122.399538), 430 445 new google.maps.LatLng(37.784271, -122.399538),
new google.maps.LatLng(37.784577, -122.399948), 431 446 new google.maps.LatLng(37.784577, -122.399948),
new google.maps.LatLng(37.784828, -122.400260), 432 447 new google.maps.LatLng(37.784828, -122.400260),
new google.maps.LatLng(37.784999, -122.400477), 433 448 new google.maps.LatLng(37.784999, -122.400477),
new google.maps.LatLng(37.785113, -122.400651), 434 449 new google.maps.LatLng(37.785113, -122.400651),
new google.maps.LatLng(37.785155, -122.400703), 435 450 new google.maps.LatLng(37.785155, -122.400703),
new google.maps.LatLng(37.785192, -122.400749), 436 451 new google.maps.LatLng(37.785192, -122.400749),
new google.maps.LatLng(37.785278, -122.400839), 437 452 new google.maps.LatLng(37.785278, -122.400839),
new google.maps.LatLng(37.785387, -122.400857), 438 453 new google.maps.LatLng(37.785387, -122.400857),
new google.maps.LatLng(37.785478, -122.400890), 439 454 new google.maps.LatLng(37.785478, -122.400890),
new google.maps.LatLng(37.785526, -122.401022), 440 455 new google.maps.LatLng(37.785526, -122.401022),
new google.maps.LatLng(37.785598, -122.401148), 441 456 new google.maps.LatLng(37.785598, -122.401148),
new google.maps.LatLng(37.785631, -122.401202), 442 457 new google.maps.LatLng(37.785631, -122.401202),
new google.maps.LatLng(37.785660, -122.401267), 443 458 new google.maps.LatLng(37.785660, -122.401267),
new google.maps.LatLng(37.803986, -122.426035), 444 459 new google.maps.LatLng(37.803986, -122.426035),
new google.maps.LatLng(37.804102, -122.425089), 445 460 new google.maps.LatLng(37.804102, -122.425089),
new google.maps.LatLng(37.804211, -122.424156), 446 461 new google.maps.LatLng(37.804211, -122.424156),
new google.maps.LatLng(37.803861, -122.423385), 447 462 new google.maps.LatLng(37.803861, -122.423385),
new google.maps.LatLng(37.803151, -122.423214), 448 463 new google.maps.LatLng(37.803151, -122.423214),
new google.maps.LatLng(37.802439, -122.423077), 449 464 new google.maps.LatLng(37.802439, -122.423077),
new google.maps.LatLng(37.801740, -122.422905), 450 465 new google.maps.LatLng(37.801740, -122.422905),
new google.maps.LatLng(37.801069, -122.422785), 451 466 new google.maps.LatLng(37.801069, -122.422785),
new google.maps.LatLng(37.800345, -122.422649), 452 467 new google.maps.LatLng(37.800345, -122.422649),
new google.maps.LatLng(37.799633, -122.422603), 453 468 new google.maps.LatLng(37.799633, -122.422603),
new google.maps.LatLng(37.799750, -122.421700), 454 469 new google.maps.LatLng(37.799750, -122.421700),
new google.maps.LatLng(37.799885, -122.420854), 455 470 new google.maps.LatLng(37.799885, -122.420854),
new google.maps.LatLng(37.799209, -122.420607), 456 471 new google.maps.LatLng(37.799209, -122.420607),
new google.maps.LatLng(37.795656, -122.400395), 457 472 new google.maps.LatLng(37.795656, -122.400395),
new google.maps.LatLng(37.795203, -122.400304), 458 473 new google.maps.LatLng(37.795203, -122.400304),
new google.maps.LatLng(37.778738, -122.415584), 459 474 new google.maps.LatLng(37.778738, -122.415584),
new google.maps.LatLng(37.778812, -122.415189), 460 475 new google.maps.LatLng(37.778812, -122.415189),
new google.maps.LatLng(37.778824, -122.415092), 461 476 new google.maps.LatLng(37.778824, -122.415092),
new google.maps.LatLng(37.778833, -122.414932), 462 477 new google.maps.LatLng(37.778833, -122.414932),
new google.maps.LatLng(37.778834, -122.414898), 463 478 new google.maps.LatLng(37.778834, -122.414898),
new google.maps.LatLng(37.778740, -122.414757), 464 479 new google.maps.LatLng(37.778740, -122.414757),
new google.maps.LatLng(37.778501, -122.414433), 465 480 new google.maps.LatLng(37.778501, -122.414433),
new google.maps.LatLng(37.778182, -122.414026), 466 481 new google.maps.LatLng(37.778182, -122.414026),
new google.maps.LatLng(37.777851, -122.413623), 467 482 new google.maps.LatLng(37.777851, -122.413623),
new google.maps.LatLng(37.777486, -122.413166), 468 483 new google.maps.LatLng(37.777486, -122.413166),
new google.maps.LatLng(37.777109, -122.412674), 469 484 new google.maps.LatLng(37.777109, -122.412674),
new google.maps.LatLng(37.776743, -122.412186), 470 485 new google.maps.LatLng(37.776743, -122.412186),
new google.maps.LatLng(37.776440, -122.411800), 471 486 new google.maps.LatLng(37.776440, -122.411800),
new google.maps.LatLng(37.776295, -122.411614), 472 487 new google.maps.LatLng(37.776295, -122.411614),
new google.maps.LatLng(37.776158, -122.411440), 473 488 new google.maps.LatLng(37.776158, -122.411440),
new google.maps.LatLng(37.775806, -122.410997), 474 489 new google.maps.LatLng(37.775806, -122.410997),
new google.maps.LatLng(37.775422, -122.410484), 475 490 new google.maps.LatLng(37.775422, -122.410484),
new google.maps.LatLng(37.775126, -122.410087), 476 491 new google.maps.LatLng(37.775126, -122.410087),
new google.maps.LatLng(37.775012, -122.409854), 477 492 new google.maps.LatLng(37.775012, -122.409854),
new google.maps.LatLng(37.775164, -122.409573), 478 493 new google.maps.LatLng(37.775164, -122.409573),
new google.maps.LatLng(37.775498, -122.409180), 479 494 new google.maps.LatLng(37.775498, -122.409180),
new google.maps.LatLng(37.775868, -122.408730), 480 495 new google.maps.LatLng(37.775868, -122.408730),
new google.maps.LatLng(37.776256, -122.408240), 481 496 new google.maps.LatLng(37.776256, -122.408240),
new google.maps.LatLng(37.776519, -122.407928), 482 497 new google.maps.LatLng(37.776519, -122.407928),
new google.maps.LatLng(37.776539, -122.407904), 483 498 new google.maps.LatLng(37.776539, -122.407904),
new google.maps.LatLng(37.776595, -122.407854), 484 499 new google.maps.LatLng(37.776595, -122.407854),
new google.maps.LatLng(37.776853, -122.407547), 485 500 new google.maps.LatLng(37.776853, -122.407547),
new google.maps.LatLng(37.777234, -122.407087), 486 501 new google.maps.LatLng(37.777234, -122.407087),
new google.maps.LatLng(37.777644, -122.406558), 487 502 new google.maps.LatLng(37.777644, -122.406558),
new google.maps.LatLng(37.778066, -122.406017), 488 503 new google.maps.LatLng(37.778066, -122.406017),
new google.maps.LatLng(37.778468, -122.405499), 489 504 new google.maps.LatLng(37.778468, -122.405499),
new google.maps.LatLng(37.778866, -122.404995), 490 505 new google.maps.LatLng(37.778866, -122.404995),
new google.maps.LatLng(37.779295, -122.404455), 491 506 new google.maps.LatLng(37.779295, -122.404455),
new google.maps.LatLng(37.779695, -122.403950), 492 507 new google.maps.LatLng(37.779695, -122.403950),
new google.maps.LatLng(37.779982, -122.403584), 493 508 new google.maps.LatLng(37.779982, -122.403584),
new google.maps.LatLng(37.780295, -122.403223), 494 509 new google.maps.LatLng(37.780295, -122.403223),
new google.maps.LatLng(37.780664, -122.402766), 495 510 new google.maps.LatLng(37.780664, -122.402766),
new google.maps.LatLng(37.781043, -122.402288), 496 511 new google.maps.LatLng(37.781043, -122.402288),
new google.maps.LatLng(37.781399, -122.401823), 497 512 new google.maps.LatLng(37.781399, -122.401823),
new google.maps.LatLng(37.781727, -122.401407), 498 513 new google.maps.LatLng(37.781727, -122.401407),
new google.maps.LatLng(37.781853, -122.401247), 499 514 new google.maps.LatLng(37.781853, -122.401247),
new google.maps.LatLng(37.781894, -122.401195), 500 515 new google.maps.LatLng(37.781894, -122.401195),
new google.maps.LatLng(37.782076, -122.400977), 501 516 new google.maps.LatLng(37.782076, -122.400977),
new google.maps.LatLng(37.782338, -122.400603), 502 517 new google.maps.LatLng(37.782338, -122.400603),
new google.maps.LatLng(37.782666, -122.400133), 503 518 new google.maps.LatLng(37.782666, -122.400133),
new google.maps.LatLng(37.783048, -122.399634), 504 519 new google.maps.LatLng(37.783048, -122.399634),
new google.maps.LatLng(37.783450, -122.399198), 505 520 new google.maps.LatLng(37.783450, -122.399198),
new google.maps.LatLng(37.783791, -122.398998), 506 521 new google.maps.LatLng(37.783791, -122.398998),
new google.maps.LatLng(37.784177, -122.398959), 507 522 new google.maps.LatLng(37.784177, -122.398959),
new google.maps.LatLng(37.784388, -122.398971), 508 523 new google.maps.LatLng(37.784388, -122.398971),
new google.maps.LatLng(37.784404, -122.399128), 509 524 new google.maps.LatLng(37.784404, -122.399128),
new google.maps.LatLng(37.784586, -122.399524), 510 525 new google.maps.LatLng(37.784586, -122.399524),
new google.maps.LatLng(37.784835, -122.399927), 511 526 new google.maps.LatLng(37.784835, -122.399927),
new google.maps.LatLng(37.785116, -122.400307), 512 527 new google.maps.LatLng(37.785116, -122.400307),
new google.maps.LatLng(37.785282, -122.400539), 513 528 new google.maps.LatLng(37.785282, -122.400539),
new google.maps.LatLng(37.785346, -122.400692), 514 529 new google.maps.LatLng(37.785346, -122.400692),
new google.maps.LatLng(37.765769, -122.407201), 515 530 new google.maps.LatLng(37.765769, -122.407201),
new google.maps.LatLng(37.765790, -122.407414), 516 531 new google.maps.LatLng(37.765790, -122.407414),
new google.maps.LatLng(37.765802, -122.407755), 517 532 new google.maps.LatLng(37.765802, -122.407755),
new google.maps.LatLng(37.765791, -122.408219), 518 533 new google.maps.LatLng(37.765791, -122.408219),
new google.maps.LatLng(37.765763, -122.408759), 519 534 new google.maps.LatLng(37.765763, -122.408759),
new google.maps.LatLng(37.765726, -122.409348), 520 535 new google.maps.LatLng(37.765726, -122.409348),
new google.maps.LatLng(37.765716, -122.409882), 521 536 new google.maps.LatLng(37.765716, -122.409882),
new google.maps.LatLng(37.765708, -122.410202), 522 537 new google.maps.LatLng(37.765708, -122.410202),
new google.maps.LatLng(37.765705, -122.410253), 523 538 new google.maps.LatLng(37.765705, -122.410253),
new google.maps.LatLng(37.765707, -122.410369), 524 539 new google.maps.LatLng(37.765707, -122.410369),
new google.maps.LatLng(37.765692, -122.410720), 525 540 new google.maps.LatLng(37.765692, -122.410720),
new google.maps.LatLng(37.765699, -122.411215), 526 541 new google.maps.LatLng(37.765699, -122.411215),
new google.maps.LatLng(37.765687, -122.411789), 527 542 new google.maps.LatLng(37.765687, -122.411789),
new google.maps.LatLng(37.765666, -122.412373), 528 543 new google.maps.LatLng(37.765666, -122.412373),
new google.maps.LatLng(37.765598, -122.412883), 529 544 new google.maps.LatLng(37.765598, -122.412883),
new google.maps.LatLng(37.765543, -122.413039), 530 545 new google.maps.LatLng(37.765543, -122.413039),
new google.maps.LatLng(37.765532, -122.413125), 531 546 new google.maps.LatLng(37.765532, -122.413125),
new google.maps.LatLng(37.765500, -122.413553), 532 547 new google.maps.LatLng(37.765500, -122.413553),
new google.maps.LatLng(37.765448, -122.414053), 533 548 new google.maps.LatLng(37.765448, -122.414053),
new google.maps.LatLng(37.765388, -122.414645), 534 549 new google.maps.LatLng(37.765388, -122.414645),
new google.maps.LatLng(37.765323, -122.415250), 535 550 new google.maps.LatLng(37.765323, -122.415250),
new google.maps.LatLng(37.765303, -122.415847), 536 551 new google.maps.LatLng(37.765303, -122.415847),
new google.maps.LatLng(37.765251, -122.416439), 537 552 new google.maps.LatLng(37.765251, -122.416439),
new google.maps.LatLng(37.765204, -122.417020), 538 553 new google.maps.LatLng(37.765204, -122.417020),
new google.maps.LatLng(37.765172, -122.417556), 539 554 new google.maps.LatLng(37.765172, -122.417556),
new google.maps.LatLng(37.765164, -122.418075), 540 555 new google.maps.LatLng(37.765164, -122.418075),
new google.maps.LatLng(37.765153, -122.418618), 541 556 new google.maps.LatLng(37.765153, -122.418618),
new google.maps.LatLng(37.765136, -122.419112), 542 557 new google.maps.LatLng(37.765136, -122.419112),
new google.maps.LatLng(37.765129, -122.419378), 543 558 new google.maps.LatLng(37.765129, -122.419378),
new google.maps.LatLng(37.765119, -122.419481), 544 559 new google.maps.LatLng(37.765119, -122.419481),
new google.maps.LatLng(37.765100, -122.419852), 545 560 new google.maps.LatLng(37.765100, -122.419852),
new google.maps.LatLng(37.765083, -122.420349), 546 561 new google.maps.LatLng(37.765083, -122.420349),
new google.maps.LatLng(37.765045, -122.420930), 547 562 new google.maps.LatLng(37.765045, -122.420930),
new google.maps.LatLng(37.764992, -122.421481), 548 563 new google.maps.LatLng(37.764992, -122.421481),
new google.maps.LatLng(37.764980, -122.421695), 549 564 new google.maps.LatLng(37.764980, -122.421695),
new google.maps.LatLng(37.764993, -122.421843), 550 565 new google.maps.LatLng(37.764993, -122.421843),
new google.maps.LatLng(37.764986, -122.422255), 551 566 new google.maps.LatLng(37.764986, -122.422255),
new google.maps.LatLng(37.764975, -122.422823), 552 567 new google.maps.LatLng(37.764975, -122.422823),
new google.maps.LatLng(37.764939, -122.423411), 553 568 new google.maps.LatLng(37.764939, -122.423411),
new google.maps.LatLng(37.764902, -122.424014), 554 569 new google.maps.LatLng(37.764902, -122.424014),
new google.maps.LatLng(37.764853, -122.424576), 555 570 new google.maps.LatLng(37.764853, -122.424576),
new google.maps.LatLng(37.764826, -122.424922), 556 571 new google.maps.LatLng(37.764826, -122.424922),
new google.maps.LatLng(37.764796, -122.425375), 557 572 new google.maps.LatLng(37.764796, -122.425375),
new google.maps.LatLng(37.764782, -122.425869), 558 573 new google.maps.LatLng(37.764782, -122.425869),
new google.maps.LatLng(37.764768, -122.426089), 559 574 new google.maps.LatLng(37.764768, -122.426089),
new google.maps.LatLng(37.764766, -122.426117), 560 575 new google.maps.LatLng(37.764766, -122.426117),
new google.maps.LatLng(37.764723, -122.426276), 561 576 new google.maps.LatLng(37.764723, -122.426276),
new google.maps.LatLng(37.764681, -122.426649), 562 577 new google.maps.LatLng(37.764681, -122.426649),
new google.maps.LatLng(37.782012, -122.404200), 563 578 new google.maps.LatLng(37.782012, -122.404200),
new google.maps.LatLng(37.781574, -122.404911), 564 579 new google.maps.LatLng(37.781574, -122.404911),
new google.maps.LatLng(37.781055, -122.405597), 565 580 new google.maps.LatLng(37.781055, -122.405597),
new google.maps.LatLng(37.780479, -122.406341), 566 581 new google.maps.LatLng(37.780479, -122.406341),
new google.maps.LatLng(37.779996, -122.406939), 567 582 new google.maps.LatLng(37.779996, -122.406939),
new google.maps.LatLng(37.779459, -122.407613), 568 583 new google.maps.LatLng(37.779459, -122.407613),
new google.maps.LatLng(37.778953, -122.408228), 569 584 new google.maps.LatLng(37.778953, -122.408228),
new google.maps.LatLng(37.778409, -122.408839), 570 585 new google.maps.LatLng(37.778409, -122.408839),
new google.maps.LatLng(37.777842, -122.409501), 571 586 new google.maps.LatLng(37.777842, -122.409501),
new google.maps.LatLng(37.777334, -122.410181), 572 587 new google.maps.LatLng(37.777334, -122.410181),
new google.maps.LatLng(37.776809, -122.410836), 573 588 new google.maps.LatLng(37.776809, -122.410836),
new google.maps.LatLng(37.776240, -122.411514), 574 589 new google.maps.LatLng(37.776240, -122.411514),
new google.maps.LatLng(37.775725, -122.412145), 575 590 new google.maps.LatLng(37.775725, -122.412145),
new google.maps.LatLng(37.775190, -122.412805), 576 591 new google.maps.LatLng(37.775190, -122.412805),
new google.maps.LatLng(37.774672, -122.413464), 577 592 new google.maps.LatLng(37.774672, -122.413464),
new google.maps.LatLng(37.774084, -122.414186), 578 593 new google.maps.LatLng(37.774084, -122.414186),
new google.maps.LatLng(37.773533, -122.413636), 579 594 new google.maps.LatLng(37.773533, -122.413636),
new google.maps.LatLng(37.773021, -122.413009), 580 595 new google.maps.LatLng(37.773021, -122.413009),
new google.maps.LatLng(37.772501, -122.412371), 581 596 new google.maps.LatLng(37.772501, -122.412371),
new google.maps.LatLng(37.771964, -122.411681), 582 597 new google.maps.LatLng(37.771964, -122.411681),
new google.maps.LatLng(37.771479, -122.411078), 583 598 new google.maps.LatLng(37.771479, -122.411078),
new google.maps.LatLng(37.770992, -122.410477), 584 599 new google.maps.LatLng(37.770992, -122.410477),
new google.maps.LatLng(37.770467, -122.409801), 585 600 new google.maps.LatLng(37.770467, -122.409801),
new google.maps.LatLng(37.770090, -122.408904), 586 601 new google.maps.LatLng(37.770090, -122.408904),
new google.maps.LatLng(37.769657, -122.408103), 587 602 new google.maps.LatLng(37.769657, -122.408103),
new google.maps.LatLng(37.769132, -122.407276), 588 603 new google.maps.LatLng(37.769132, -122.407276),
new google.maps.LatLng(37.768564, -122.406469), 589 604 new google.maps.LatLng(37.768564, -122.406469),
new google.maps.LatLng(37.767980, -122.405745), 590 605 new google.maps.LatLng(37.767980, -122.405745),
new google.maps.LatLng(37.767380, -122.405299), 591 606 new google.maps.LatLng(37.767380, -122.405299),
new google.maps.LatLng(37.766604, -122.405297), 592 607 new google.maps.LatLng(37.766604, -122.405297),
new google.maps.LatLng(37.765838, -122.405200), 593 608 new google.maps.LatLng(37.765838, -122.405200),
new google.maps.LatLng(37.765139, -122.405139), 594 609 new google.maps.LatLng(37.765139, -122.405139),
new google.maps.LatLng(37.764457, -122.405094), 595 610 new google.maps.LatLng(37.764457, -122.405094),
new google.maps.LatLng(37.763716, -122.405142), 596 611 new google.maps.LatLng(37.763716, -122.405142),
new google.maps.LatLng(37.762932, -122.405398), 597 612 new google.maps.LatLng(37.762932, -122.405398),
new google.maps.LatLng(37.762126, -122.405813), 598 613 new google.maps.LatLng(37.762126, -122.405813),
new google.maps.LatLng(37.761344, -122.406215), 599 614 new google.maps.LatLng(37.761344, -122.406215),
new google.maps.LatLng(37.760556, -122.406495), 600 615 new google.maps.LatLng(37.760556, -122.406495),
new google.maps.LatLng(37.759732, -122.406484), 601 616 new google.maps.LatLng(37.759732, -122.406484),
new google.maps.LatLng(37.758910, -122.406228), 602 617 new google.maps.LatLng(37.758910, -122.406228),
new google.maps.LatLng(37.758182, -122.405695), 603 618 new google.maps.LatLng(37.758182, -122.405695),
new google.maps.LatLng(37.757676, -122.405118), 604 619 new google.maps.LatLng(37.757676, -122.405118),
new google.maps.LatLng(37.757039, -122.404346), 605 620 new google.maps.LatLng(37.757039, -122.404346),
new google.maps.LatLng(37.756335, -122.403719), 606 621 new google.maps.LatLng(37.756335, -122.403719),
new google.maps.LatLng(37.755503, -122.403406), 607 622 new google.maps.LatLng(37.755503, -122.403406),
new google.maps.LatLng(37.754665, -122.403242), 608 623 new google.maps.LatLng(37.754665, -122.403242),
new google.maps.LatLng(37.753837, -122.403172), 609 624 new google.maps.LatLng(37.753837, -122.403172),
new google.maps.LatLng(37.752986, -122.403112), 610 625 new google.maps.LatLng(37.752986, -122.403112),
new google.maps.LatLng(37.751266, -122.403355) 611 626 new google.maps.LatLng(37.751266, -122.403355)
]; 612 627 ];
} 613 628 }
</script> 614 629 </script>
615 630
<!-- Calling google maps API using the function defined above. --> 616 631 <!-- Calling google maps API using the function defined above. -->
<script async defer 617 632 <script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDAXDHeZXEv4H4ZnThVDxpyAuxVpzOcj_U&callback=initMap&libraries=visualization"> 618 633 src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDAXDHeZXEv4H4ZnThVDxpyAuxVpzOcj_U&callback=initMap&libraries=visualization">
</script> 619 634 </script>
620 635
621 636
<!-- Buttons at the bottom of the map --> 622 637 <!-- Buttons at the bottom of the map -->
<div class="container"> 623 638 <div class="container">
<div class="row"> 624 639 <div class="row">
<!-- Status --> 625 640 <!-- Status -->
<div class="col-xs-4"> 626 641 <div class="col-xs-4">
<!-- Title: Current Area --> 627 642 <!-- Title: Current Area -->
<div> 628 643 <div>
Current Area: 629 644 Current Area:
</div> 630 645 </div>
<!-- Icons + Status --> 631 646 <!-- Icons + Status -->
<div> 632 647 <div>
80% Safe 633 648 80% Safe
</div> 634 649 </div>
</div> 635 650 </div>
<!-- Emergency --> 636 651 <!-- Emergency -->
<div class="col-xs-4"> 637 652 <div class="col-xs-4">
<button type="button" class="btn btn-danger btn-block" onclick="emergency()">Emergency</button> 638 653 <button type="button" class="btn btn-danger btn-block" onclick="emergency()">Emergency</button>
</div> 639 654 </div>
<!-- Open Map --> 640 655 <!-- Open Map -->
<div class="col-xs-4"> 641 656 <div class="col-xs-4">
<button type="button" class="btn btn-default btn-block" onclick="todo()">Open in Map</button> 642 657 <button type="button" class="btn btn-default btn-block" onclick="todo()">Open in Map</button>
views/pages/login.ejs View file @ f609199
File was created 1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <% include ../partials/header %>
5 </head>
6
7 <!-- Homepage -->
8
9 <body>
10 <div class="container-fluid">
11 <form action="/">
12 <div class="form-group">
13 <input type="currentLocation" class="form-control" id="origin" placeholder="Username" onchange="saveFrom()">
14 <input type="currentLocation" class="form-control" id="origin" placeholder="Password" onchange="saveFrom()">
15 </div>
16 <button class="btn btn-primary">Log In</button>
17 </form>
18 </div>
19
20 <!-- Google Map functionality. -->
21 <script>