forked from rhiever/optimal-roadtrip-usa
-
Notifications
You must be signed in to change notification settings - Fork 0
/
philly-walking-tour.html
105 lines (96 loc) · 4.66 KB
/
philly-walking-tour.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
<!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 optimize a walking tour around Philadelphia.">
<meta name="author" content="Randal S. Olson">
<title>An optimized walking tour around Philadelphia</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;
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, -75.165);
var mapOptions = {
zoom: 13,
center: center
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
directionsDisplay1.setMap(map);
directionsDisplay2.setMap(map);
directionsDisplay3.setMap(map);
}
function calcRoute(start, end, routes) {
switch (start) {
case "Fairmount Park, Philadelphia, PA":
directionsDisplay1 = new google.maps.DirectionsRenderer(directionsDisplayOptions);
break;
case "Mutter Museum, South 22nd Street, Philadelphia, PA":
directionsDisplay2 = new google.maps.DirectionsRenderer(directionsDisplayOptions);
break;
case "National Constitution Center, 525 Arch Street, Philadelphia, PA":
directionsDisplay3 = 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.WALKING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
switch (start) {
case "Fairmount Park, Philadelphia, PA":
directionsDisplay1.setDirections(response);
break;
case "Mutter Museum, South 22nd Street, Philadelphia, PA":
directionsDisplay2.setDirections(response);
break;
case "National Constitution Center, 525 Arch Street, Philadelphia, PA":
directionsDisplay3.setDirections(response);
break;
}
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
calcRoute("Fairmount Park, Philadelphia, PA", "Mutter Museum, South 22nd Street, Philadelphia, PA", ["Please Touch Museum, 4231 Avenue of the Republic, Philadelphia, PA", "Philadelphia Zoo, West Girard Avenue, Philadelphia, PA", "Philadelphia Museum of Art, Benjamin Franklin Parkway, Philadelphia, PA", "Rocky Steps, Benjamin Franklin Parkway, Philadelphia, PA", "Eastern State Penitentiary, Fairmount Avenue, Philadelphia, PA", "Rodin Museum, Benjamin Franklin Parkway, Philadelphia, PA", "Barnes Foundation, 2025 Benjamin Franklin Parkway, Philadelphia, PA 19130", "The Franklin Institute, North 20th Street, Philadelphia, PA"]);
calcRoute("Mutter Museum, South 22nd Street, Philadelphia, PA", "National Constitution Center, 525 Arch Street, Philadelphia, PA", ["Penn Museum, 3260 South Street, Philadelphia, PA", "University of Pennsylvania, Philadelphia, PA", "Rittenhouse Square, Philadelphia, PA", "Cathedral Basilica of Saints Peter & Paul, Race Street, Philadelphia, PA", "Pennsylvania Academy Of The Fine Arts, North Broad Street, Philadelphia, PA", "Masonic Temple, North Broad Street, Philadelphia, PA", "Philadelphia City Hall, John F Kennedy Boulevard, Philadelphia, PA", "51 N 12th St, Philadelphia, PA"]);
calcRoute("National Constitution Center, 525 Arch Street, Philadelphia, PA", "Philadelphia's Magic Gardens, South Street, Philadelphia, PA", ["Fireman's Hall Museum, North 2nd Street, Philadelphia, PA", "Elfreth's Alley, Philadelphia, PA", "Christ Church, 20 North American Street, Philadelphia, PA", "National Museum of American Jewish History, South Independence Ml East, Philadelphia, PA", "Independence National Historical Park, Philadelphia, PA"]);
</script>
</head>
<body>
<div id="map-canvas"></div>
</body>
</html>