-var marker;
+$(document).ready(function () {
+ var marker, map;
-function setLocation( e ) {
- closeMapPopup();
+ function setLocation(e) {
+ $("#latitude").val(e.latlng.lat);
+ $("#longitude").val(e.latlng.lng);
- var lonlat = getEventPosition(e);
+ if (marker) {
+ map.removeLayer(marker);
+ }
- $("#latitude").val(lonlat.lat);
- $("#longitude").val(lonlat.lon);
-
- if (marker) {
- removeMarkerFromMap(marker);
+ marker = L.marker(e.latlng, {icon: getUserIcon()}).addTo(map)
+ .bindPopup(I18n.t('diary_entry.edit.marker_text'));
}
- marker = addMarkerToMap(lonlat, null, I18n.t('diary_entry.edit.marker_text'));
-}
+ $("#usemap").click(function (e) {
+ e.preventDefault();
-function openMap() {
- $("#map").show();
- $("#usemap").hide();
+ $("#map").show();
+ $("#usemap").hide();
- var params = $("#map").data();
- var centre = new OpenLayers.LonLat(params.lon, params.lat);
- var map = createMap("map");
+ var params = $("#map").data();
+ var centre = [params.lat, params.lon];
- setMapCenter(centre, params.zoom);
+ map = L.map("map", {
+ attributionControl: false,
+ zoomControl: false
+ }).addLayer(new L.OSM.Mapnik());
- if ($("#latitude").val() && $("#longitude").val()) {
- marker = addMarkerToMap(centre, null, I18n.t('diary_entry.edit.marker_text'));
- }
+ L.OSM.zoom()
+ .addTo(map);
+
+ $("#map").on("resized", function () {
+ map.invalidateSize();
+ });
+
+ map.setView(centre, params.zoom);
+
+ if ($("#latitude").val() && $("#longitude").val()) {
+ marker = L.marker(centre, {icon: getUserIcon()}).addTo(map)
+ .bindPopup(I18n.t('diary_entry.edit.marker_text'));
+ }
- map.events.register("click", map, setLocation);
-}
+ map.on("click", setLocation);
+ });
+});