]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/diary_entry.js
Simplify "report a problem" control
[rails.git] / app / assets / javascripts / diary_entry.js
1 $(document).ready(function () {
2   var marker, map;
3
4   function setLocation(e) {
5     $("#latitude").val(e.latlng.lat);
6     $("#longitude").val(e.latlng.lng);
7
8     if (marker) {
9       map.removeLayer(marker);
10     }
11
12     marker = L.marker(e.latlng, {icon: OSM.getUserIcon()}).addTo(map)
13       .bindPopup(I18n.t('diary_entry.edit.marker_text'));
14   }
15
16   $("#usemap").click(function (e) {
17     e.preventDefault();
18
19     $("#map").show();
20     $("#usemap").hide();
21
22     var params = $("#map").data();
23     var centre = [params.lat, params.lon];
24     var position = $('html').attr('dir') === 'rtl' ? 'topleft' : 'topright';
25
26     map = L.map("map", {
27       attributionControl: false,
28       zoomControl: false
29     }).addLayer(new L.OSM.Mapnik());
30
31     L.OSM.zoom({position: position})
32       .addTo(map);
33
34     map.setView(centre, params.zoom);
35
36     if ($("#latitude").val() && $("#longitude").val()) {
37       marker = L.marker(centre, {icon: OSM.getUserIcon()}).addTo(map)
38         .bindPopup(I18n.t('diary_entry.edit.marker_text'));
39     }
40
41     map.on("click", setLocation);
42   });
43 });