]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/browse.js
b20e4516e8ceda5b698abceae4cc8c460e75d859
[rails.git] / app / assets / javascripts / browse.js
1 $(document).ready(function () {
2
3   var map = L.map("small_map", {
4     attributionControl: false,
5     zoomControl: false
6   }).addLayer(new L.OSM.Mapnik());
7
8   L.OSM.zoom()
9     .addTo(map);
10
11   var params = $("#small_map").data();
12   var object, bbox;
13   if (params.type == "changeset") {
14     bbox = L.latLngBounds([params.minlat, params.minlon],
15         [params.maxlat, params.maxlon]);
16
17     map.fitBounds(bbox);
18
19     L.rectangle(bbox, {
20       weight: 2,
21       color: '#e90',
22       fillOpacity: 0
23     }).addTo(map);
24
25     $("#loading").hide();
26     $("#browse_map .geolink").show();
27
28     $("a[data-editor=remote]").click(function () {
29       return remoteEditHandler(bbox);
30     });
31
32     updatelinks(map.getCenter(), 16, null, [[params.minlat, params.minlon],
33         [params.maxlat, params.maxlon]]);
34   } else if (params.type == "note") {
35     object = {type: params.type, id: params.id};
36
37     map.setView([params.lat, params.lon], 16);
38
39     L.marker([params.lat, params.lon], { icon: getUserIcon() }).addTo(map);
40
41     bbox = map.getBounds();
42
43     $("#loading").hide();
44     $("#browse_map .geolink").show();
45
46     $("a[data-editor=remote]").click(function () {
47       return remoteEditHandler(bbox);
48     });
49
50     updatelinks(params, 16, null,
51                 bbox.getWest(), bbox.getSouth(),
52                 bbox.getEast(), bbox.getNorth(),
53                 object);
54   } else {
55     $("#object_larger_map, #object_edit").hide();
56
57     object = {type: params.type, id: params.id};
58
59     if (!params.visible) {
60       object.version = params.version - 1;
61     }
62
63     addObjectToMap(object, map, {
64       zoom: true, 
65       callback: function(extent) {
66         $("#loading").hide();
67         $("#browse_map .geolink").show();
68
69         if (extent) {
70           $("a.bbox[data-editor=remote]").click(function () {
71             return remoteEditHandler(extent);
72           });
73
74           $("a.object[data-editor=remote]").click(function () {
75             return remoteEditHandler(extent, params.type + params.id);
76           });
77
78           $("#object_larger_map").show();
79           $("#object_edit").show();
80
81           updatelinks(map.getCenter(), 16, null, extent, object);
82         } else {
83           $("#small_map").hide();
84         }
85       }
86     });
87   }
88
89   createMenu("area_edit", "area_edit_menu", "right");
90   createMenu("object_edit", "object_edit_menu", "right");
91 });