]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/diary_entry.js
Read lat/lon attributes when generating context menu directions urls
[rails.git] / app / assets / javascripts / diary_entry.js
index c16930480e5ff75f7d3f0ba041d302c8ffa4d44d..625d43a5228f0b07a391f988a43cae3327364e67 100644 (file)
@@ -1,19 +1,16 @@
 $(document).ready(function () {
-  var marker;
+  var marker, map;
 
   function setLocation(e) {
-    closeMapPopup();
-
-    var lonlat = getEventPosition(e);
-
-    $("#latitude").val(lonlat.lat);
-    $("#longitude").val(lonlat.lon);
+    $("#latitude").val(e.latlng.lat);
+    $("#longitude").val(e.latlng.lng);
 
     if (marker) {
-      removeMarkerFromMap(marker);
+      map.removeLayer(marker);
     }
 
-    marker = addMarkerToMap(lonlat, null, I18n.t('diary_entry.edit.marker_text'));
+    marker = L.marker(e.latlng, { icon: OSM.getUserIcon() }).addTo(map)
+      .bindPopup(I18n.t("diary_entries.edit.marker_text"));
   }
 
   $("#usemap").click(function (e) {
@@ -23,15 +20,24 @@ $(document).ready(function () {
     $("#usemap").hide();
 
     var params = $("#map").data();
-    var centre = new OpenLayers.LonLat(params.lon, params.lat);
-    var map = createMap("map");
+    var centre = [params.lat, params.lon];
+    var position = $("html").attr("dir") === "rtl" ? "topleft" : "topright";
+
+    map = L.map("map", {
+      attributionControl: false,
+      zoomControl: false
+    }).addLayer(new L.OSM.Mapnik());
+
+    L.OSM.zoom({ position: position })
+      .addTo(map);
 
-    setMapCenter(centre, params.zoom);
+    map.setView(centre, params.zoom);
 
     if ($("#latitude").val() && $("#longitude").val()) {
-      marker = addMarkerToMap(centre, null, I18n.t('diary_entry.edit.marker_text'));
+      marker = L.marker(centre, { icon: OSM.getUserIcon() }).addTo(map)
+        .bindPopup(I18n.t("diary_entries.edit.marker_text"));
     }
 
-    map.events.register("click", map, setLocation);
+    map.on("click", setLocation);
   });
 });