author | Mario Ferraro <fadinlight@gmail.com> |
Sun, 15 Nov 2009 22:12:20 +0100 | |
changeset 3093 | d1be59b6b627 |
permissions | -rw-r--r-- |
3093
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
1 |
/* Copyright 2009 the Melange authors. |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
2 |
* |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
3 |
* Licensed under the Apache License, Version 2.0 (the "License"); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
4 |
* you may not use this file except in compliance with the License. |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
5 |
* You may obtain a copy of the License at |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
6 |
* |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
7 |
* http://www.apache.org/licenses/LICENSE-2.0 |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
8 |
* |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
9 |
* Unless required by applicable law or agreed to in writing, software |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
10 |
* distributed under the License is distributed on an "AS IS" BASIS, |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
11 |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
12 |
* See the License for the specific language governing permissions and |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
13 |
* limitations under the License. |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
14 |
*/ |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
15 |
/** |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
16 |
* @author <a href="mailto:fadinlight@gmail.com">Mario Ferraro</a> |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
17 |
*/ |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
18 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
19 |
(function () { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
20 |
var melange = window.melange; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
21 |
this.prototype = new melange.templates._baseTemplate(); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
22 |
this.prototype.constructor = melange.templates._baseTemplate; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
23 |
melange.templates._baseTemplate.apply(this, arguments); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
24 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
25 |
var _self = this; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
26 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
27 |
// Global variables |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
28 |
var map; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
29 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
30 |
// Map data taken from JS context |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
31 |
var map_data = this.context.map_data; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
32 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
33 |
// HTML div tag where map needs to be inserted |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
34 |
var map_div = "org_home_map"; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
35 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
36 |
// Map load function |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
37 |
function map_load() { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
38 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
39 |
// Setup required icons |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
40 |
var base_icon = new google.maps.Icon(); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
41 |
base_icon.shadow = "http://www.google.com/mapfiles/shadow50.png"; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
42 |
base_icon.iconSize = new google.maps.Size(20, 34); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
43 |
base_icon.shadowSize = new google.maps.Size(37, 34); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
44 |
base_icon.iconAnchor = new google.maps.Point(9, 34); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
45 |
base_icon.infoWindowAnchor = new google.maps.Point(9, 2); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
46 |
base_icon.infoShadowAnchor = new google.maps.Point(18, 25); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
47 |
var student_icon = new google.maps.Icon(base_icon); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
48 |
student_icon.image = "http://www.google.com/mapfiles/marker.png"; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
49 |
var mentor_icon = new google.maps.Icon(base_icon); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
50 |
mentor_icon.image = "/soc/content/images/mentor-marker.png"; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
51 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
52 |
if (google.maps.BrowserIsCompatible()) { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
53 |
// Create the map and add small controls |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
54 |
map = new google.maps.Map2(document.getElementById(map_div)); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
55 |
map.addControl(new google.maps.LargeMapControl()); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
56 |
map.addControl(new google.maps.MapTypeControl()); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
57 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
58 |
// Set map center and initial zoom level |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
59 |
map.setCenter(new google.maps.LatLng(0, 0), 1); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
60 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
61 |
var mentors = {}; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
62 |
var students = {}; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
63 |
var projects = {}; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
64 |
var polylines = []; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
65 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
66 |
jQuery.each(map_data.people, function (key, person) { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
67 |
if (person.type === "student") { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
68 |
students[key] = { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
69 |
"name": person.name, |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
70 |
"lat": person.lat, |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
71 |
"lon": person.lon, |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
72 |
"projects": person.projects |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
73 |
}; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
74 |
} |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
75 |
if (person.type === "mentor") { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
76 |
mentors[key] = { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
77 |
"name": person.name, |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
78 |
"lat": person.lat, |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
79 |
"lon": person.lon, |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
80 |
"projects": person.projects |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
81 |
}; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
82 |
} |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
83 |
}); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
84 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
85 |
// Iterate over projects to draw polylines |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
86 |
jQuery.each(map_data.projects, function (key, project) { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
87 |
var current_student = students[project.student_key]; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
88 |
var current_mentor = mentors[project.mentor_key]; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
89 |
if (current_student !== undefined && |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
90 |
current_mentor !== undefined && |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
91 |
current_student.lat !== null && |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
92 |
current_student.lon !== null && |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
93 |
current_mentor.lat !== null && |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
94 |
current_mentor.lon !== null) { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
95 |
/*jslint white: false */ |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
96 |
polylines.push([ |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
97 |
[current_student.lat, current_student.lon], |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
98 |
[current_mentor.lat, current_mentor.lon] |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
99 |
]); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
100 |
/*jslint white: true */ |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
101 |
} |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
102 |
}); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
103 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
104 |
// Iterate over students |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
105 |
jQuery.each(students, function (key, person) { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
106 |
var html = ""; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
107 |
var marker = null; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
108 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
109 |
if (person.lat !== null && person.lon !== null) { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
110 |
var point = new google.maps.LatLng(person.lat, person.lon); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
111 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
112 |
marker = new google.maps.Marker(point, student_icon); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
113 |
html = [ |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
114 |
"<strong>", person.name, "</strong><br />", |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
115 |
"<span style='font-style:italic;'>Student</span><br />", |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
116 |
"<div style='height:100px;width:300px;", |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
117 |
"overflow:auto;font-size:70%'>" |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
118 |
].join(""); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
119 |
// iterate through projects |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
120 |
jQuery.each(person.projects, function () { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
121 |
var current_project = map_data.projects[this]; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
122 |
html += [ |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
123 |
"<a href='", current_project.redirect, "'>", |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
124 |
current_project.title, "</a><br />", |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
125 |
"Mentor: ", current_project.mentor_name, "<br />" |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
126 |
].join(""); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
127 |
}); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
128 |
html += "</div>"; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
129 |
google.maps.Event.addListener(marker, "click", function () { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
130 |
marker.openInfoWindowHtml(html); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
131 |
}); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
132 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
133 |
map.addOverlay(marker); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
134 |
} |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
135 |
}); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
136 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
137 |
// Iterate over mentors |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
138 |
jQuery.each(mentors, function (key, person) { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
139 |
var html = ""; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
140 |
var marker = null; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
141 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
142 |
if (person.lat !== null && person.lon !== null) { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
143 |
var point = new google.maps.LatLng(person.lat, person.lon); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
144 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
145 |
marker = new google.maps.Marker(point, mentor_icon); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
146 |
html = [ |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
147 |
"<strong>", person.name, "</strong><br />", |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
148 |
"<span style='font-style:italic;'>Mentor</span><br />", |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
149 |
"<div style='height:100px;width:300px;", |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
150 |
"overflow:auto;font-size:70%'>" |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
151 |
].join(""); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
152 |
// iterate through projects |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
153 |
jQuery.each(person.projects, function () { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
154 |
var current_project = map_data.projects[this]; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
155 |
html += [ |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
156 |
"<a href='", current_project.redirect, "'>", |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
157 |
current_project.title, "</a><br />", |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
158 |
"Student: ", current_project.student_name, "<br />" |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
159 |
].join(""); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
160 |
}); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
161 |
html += "</div>"; |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
162 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
163 |
google.maps.Event.addListener(marker, "click", function () { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
164 |
marker.openInfoWindowHtml(html); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
165 |
}); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
166 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
167 |
map.addOverlay(marker); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
168 |
} |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
169 |
}); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
170 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
171 |
// Draw all polylines |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
172 |
jQuery.each(polylines, function () { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
173 |
var from = new google.maps.LatLng(this[0][0], this[0][1]); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
174 |
var to = new google.maps.LatLng(this[1][0], this[1][1]); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
175 |
var polyline = new google.maps.Polyline([from, to], "#ff0000", 3); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
176 |
map.addOverlay(polyline); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
177 |
}); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
178 |
} |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
179 |
} |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
180 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
181 |
jQuery( |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
182 |
function () { |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
183 |
melange.loadGoogleApi("maps", "2", {}, map_load); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
184 |
} |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
185 |
); |
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
186 |
|
d1be59b6b627
GMaps related JS changed to use new google namespace.
Mario Ferraro <fadinlight@gmail.com>
parents:
diff
changeset
|
187 |
}()); |