forked from rhiever/optimal-roadtrip-usa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpopular-cities.html
128 lines (121 loc) · 5.02 KB
/
popular-cities.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta name="description" content="Randy Olson uses machine learning to find the optimal road trip across the U.S.">
<meta name="author" content="Randal S. Olson">
<title>The optimal road trip across the USA according to machine learning</title>
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
#panel {
position: absolute;
top: 5px;
left: 50%;
margin-left: -180px;
z-index: 5;
background-color: #fff;
padding: 10px;
border: 1px solid #999;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
<script>
var directionsDisplay1, directionsDisplay2;
var directionsDisplay3, directionsDisplay4;
var directionsDisplay5, directionsDisplay6;
var markerOptions = {icon: "http://maps.gstatic.com/mapfiles/markers2/marker.png"};
var directionsDisplayOptions = {preserveViewport: true,
markerOptions: markerOptions};
var directionsService = new google.maps.DirectionsService();
var map;
function initialize() {
var center = new google.maps.LatLng(39, -96);
var mapOptions = {
zoom: 5,
center: center
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay1.setMap(map);
directionsDisplay2.setMap(map);
directionsDisplay3.setMap(map);
directionsDisplay4.setMap(map);
directionsDisplay5.setMap(map);
directionsDisplay6.setMap(map);
}
function calcRoute(start, end, routes) {
switch (start) {
case "Oklahoma City, Oklahoma":
directionsDisplay1 = new google.maps.DirectionsRenderer(directionsDisplayOptions);
break;
case "Boise, Idaho":
directionsDisplay2 = new google.maps.DirectionsRenderer(directionsDisplayOptions);
break;
case "Chicago, Illinois":
directionsDisplay3 = new google.maps.DirectionsRenderer(directionsDisplayOptions);
break;
case "Providence, Rhode Island":
directionsDisplay4 = new google.maps.DirectionsRenderer(directionsDisplayOptions);
break;
case "Charlotte, North Carolina":
directionsDisplay5 = new google.maps.DirectionsRenderer(directionsDisplayOptions);
break;
case "Little Rock, Arkansas":
directionsDisplay6 = new google.maps.DirectionsRenderer(directionsDisplayOptions);
break;
}
var waypts = [];
for (var i = 0; i < routes.length; i++) {
waypts.push({
location:routes[i],
stopover:true});
}
var request = {
origin: start,
destination: end,
waypoints: waypts,
optimizeWaypoints: false,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
switch (start) {
case "Oklahoma City, Oklahoma":
directionsDisplay1.setDirections(response);
break;
case "Boise, Idaho":
directionsDisplay2.setDirections(response);
break;
case "Chicago, Illinois":
directionsDisplay3.setDirections(response);
break;
case "Providence, Rhode Island":
directionsDisplay4.setDirections(response);
break;
case "Charlotte, North Carolina":
directionsDisplay5.setDirections(response);
break;
case "Little Rock, Arkansas":
directionsDisplay6.setDirections(response);
break;
}
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
calcRoute("Oklahoma City, Oklahoma", "Boise, Idaho", ["Wichita, Kansas", "Denver, Colorado", "Albuquerque, New Mexico", "Phoenix, Arizona", "Las Vegas, Nevada", "San Francisco, California", "Portland, Oregon", "Seattle, Washington"]);
calcRoute("Boise, Idaho", "Chicago, Illinois", ["Park City, Utah", "Jackson, Wyoming", "Billings, Montana", "Sioux Falls, South Dakota", "Omaha, Nebraska", "Des Moines, Iowa", "Minneapolis, Minnesota", "Milwaukee, Wisconsin"]);
calcRoute("Chicago, Illinois", "Providence, Rhode Island", ["Indianapolis, Indiana", "Louisville, Kentucky", "Columbus, Ohio", "Detroit, Michigan", "Cleveland, Ohio", "Manchester, New Hampshire", "Portland, Maine", "Boston, Massachusetts"]);
calcRoute("Providence, Rhode Island", "Charlotte, North Carolina", ["New Haven, Connecticut", "New York City, New York", "Ocean City, New Jersey", "Philadelphia, Pennsylvania", "Wilmington, Delaware", "Baltimore, Maryland", "Washington, D.C.", "Virginia Beach, Virginia"]);
calcRoute("Charlotte, North Carolina", "Little Rock, Arkansas", ["Charleston, South Carolina", "Orlando, Florida", "Atlanta, Georgia", "Nashville, Tennessee", "Birmingham, Alabama", "Jackson, Mississippi", "New Orleans, Louisiana", "Houston, Texas"]);
calcRoute("Little Rock, Arkansas", "Oklahoma City, Oklahoma", ["Branson, Missouri"]);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>