]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/user.js
Avoid multiple click bindings on data layer
[rails.git] / app / assets / javascripts / user.js
1 $(document).ready(function () {
2   var map = createMap("map", {
3     zoomControl: true,
4     panZoomControl: false
5   });
6
7   if (OSM.home) {
8     map.setView([OSM.home.lat, OSM.home.lon], 12);
9   } else {
10     map.setView([0, 0], 0);
11   }
12
13   if ($("#map").hasClass("set_location")) {
14     var marker = L.marker([0, 0], {icon: getUserIcon()});
15
16     if (OSM.home) {
17       marker.setLatLng([OSM.home.lat, OSM.home.lon]);
18       marker.addTo(map);
19     }
20
21     map.on("click", function (e) {
22       if ($('#updatehome').is(':checked')) {
23         $('#homerow').removeClass();
24         $('#home_lat').val(e.latlng.lat);
25         $('#home_lon').val(e.latlng.lng);
26
27         marker.setLatLng(e.latlng);
28         marker.addTo(map);
29       }
30     });
31   } else {
32     $("[data-user]").each(function () {
33       var user = $(this).data('user');
34       if (user.lon && user.lat) {
35         L.marker([user.lat, user.lon], {icon: getUserIcon(user.icon)}).addTo(map)
36           .bindPopup(user.description);
37       }
38     });
39   }
40 });