+ var locate = L.control.locate({
+ position: position,
+ icon: "icon geolocate",
+ iconLoading: "icon geolocate",
+ strings: {
+ title: I18n.t("javascripts.map.locate.title"),
+ popup: function (options) {
+ return I18n.t("javascripts.map.locate." + options.unit + "Popup", { count: options.distance });
+ }
+ }
+ }).addTo(map);
+
+ var locateContainer = locate.getContainer();
+
+ $(locateContainer)
+ .removeClass("leaflet-control-locate leaflet-bar")
+ .addClass("control-locate")
+ .children("a")
+ .attr("href", "#")
+ .removeClass("leaflet-bar-part leaflet-bar-part-single")
+ .addClass("control-button");
+
+ var sidebar = L.OSM.sidebar("#map-ui")
+ .addTo(map);
+
+ L.OSM.layers({
+ position: position,
+ layers: map.baseLayers,
+ sidebar: sidebar
+ }).addTo(map);
+
+ L.OSM.key({
+ position: position,
+ sidebar: sidebar
+ }).addTo(map);
+
+ L.OSM.share({
+ "position": position,
+ "sidebar": sidebar,
+ "short": true
+ }).addTo(map);
+
+ L.OSM.note({
+ position: position,
+ sidebar: sidebar
+ }).addTo(map);
+
+ L.OSM.query({
+ position: position,
+ sidebar: sidebar
+ }).addTo(map);
+
+ L.control.scale()
+ .addTo(map);
+
+ OSM.initializeContextMenu(map);
+
+ if (OSM.STATUS !== "api_offline" && OSM.STATUS !== "database_offline") {
+ OSM.initializeNotes(map);
+ if (params.layers.indexOf(map.noteLayer.options.code) >= 0) {
+ map.addLayer(map.noteLayer);
+ }
+
+ OSM.initializeBrowse(map);
+ if (params.layers.indexOf(map.dataLayer.options.code) >= 0) {
+ map.addLayer(map.dataLayer);