af9b2f803c152776baa83017e82b65f689982c5f
[platal.git] / htdocs / javascript / maps.js
1 /***************************************************************************
2 * Copyright (C) 2003-2011 Polytechnique.org *
3 * http://opensource.polytechnique.org/ *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program; if not, write to the Free Software *
17 * Foundation, Inc., *
18 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
19 ***************************************************************************/
20
21 // http://code.google.com/apis/maps/documentation/javascript/
22 // http://code.google.com/p/google-maps-utility-library-v3/wiki/Libraries
23
24 function map_initialize(latitude, longitude)
25 {
26 var latlng = new google.maps.LatLng(latitude, longitude);
27 var myOptions = {
28 zoom: 1,
29 center: latlng,
30 mapTypeId: google.maps.MapTypeId.ROADMAP
31 };
32 var map = new google.maps.Map($('#map_canvas').get(0), myOptions);
33
34 $.xget('map/ajax', function(json_data) {
35 var data = jQuery.parseJSON(json_data);
36 var dots = data.data;
37 var count = dots.length;
38 var markers = [];
39
40 for (var i = 0; i < count; ++i) {
41 var latLng = new google.maps.LatLng(dots[i].latitude, dots[i].longitude);
42
43 if (dots[i].hrpid.search(',') > -1) {
44 var hrpids = dots[i].hrpid.split(',');
45 var names = dots[i].name.split(',');
46 var link_array = new Array();
47
48 for (var j = 0; j < hrpids.length; ++j) {
49 link_array[j] = '<a href="profile/' + hrpids[j] + '">' + names[j] + '</a>';
50 }
51 var link = link_array.join('<br />');
52 } else {
53 var link = '<a href="profile/' + dots[i].hrpid + '">' + dots[i].name + '</a>';
54 }
55
56 var marker = new MarkerWithLabel({
57 'position': latLng,
58 'labelContent': link,
59 'labelClass': 'marker_label'
60 });
61 markers.push(marker);
62 }
63 var mc = new MarkerClusterer(map, markers);
64 });
65 }
66
67 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: