").append(directionsCloseButton)),
+ distanceText,
+ turnByTurnTable
+ );
// Add each row
route.steps.forEach(function (step) {
@@ -290,9 +204,9 @@ OSM.Directions = function (map) {
}
var row = $("
|
");
- row.append("
| ");
- row.append("
" + instruction);
- row.append(" | " + dist);
+ row.append(" | | ");
+ row.append("
" + instruction);
+ row.append(" | " + dist);
row.on("click", function () {
popup
@@ -309,15 +223,14 @@ OSM.Directions = function (map) {
map.removeLayer(highlight);
});
- $("#turnbyturn").append(row);
+ turnByTurnTable.append(row);
});
- $("#sidebar_content").append(" " +
+ $("#sidebar_content").append(" " +
I18n.t("javascripts.directions.instructions.courtesy", { link: chosenEngine.creditline }) +
" ");
- $("#sidebar_content a.geolink").on("click", function (e) {
- e.preventDefault();
+ directionsCloseButton.on("click", function () {
map.removeLayer(polyline);
$("#sidebar_content").html("");
map.setSidebarOverlaid(true);
@@ -327,17 +240,15 @@ OSM.Directions = function (map) {
}
var chosenEngineIndex = findEngine("fossgis_osrm_car");
- if ($.cookie("_osm_directions_engine")) {
- chosenEngineIndex = findEngine($.cookie("_osm_directions_engine"));
+ if (Cookies.get("_osm_directions_engine")) {
+ chosenEngineIndex = findEngine(Cookies.get("_osm_directions_engine"));
}
setEngine(chosenEngineIndex);
select.on("change", function (e) {
chosenEngine = engines[e.target.selectedIndex];
- $.cookie("_osm_directions_engine", chosenEngine.id, { expires: expiry, path: "/" });
- if (map.hasLayer(polyline)) {
- getRoute(true, true);
- }
+ Cookies.set("_osm_directions_engine", chosenEngine.id, { secure: true, expires: expiry, path: "/", samesite: "lax" });
+ getRoute(true, true);
});
$(".directions_form").on("submit", function (e) {
@@ -345,7 +256,7 @@ OSM.Directions = function (map) {
getRoute(true, true);
});
- $(".routing_marker").on("dragstart", function (e) {
+ $(".routing_marker_column img").on("dragstart", function (e) {
var dt = e.originalEvent.dataTransfer;
dt.effectAllowed = "move";
var dragData = { type: $(this).data("type") };
@@ -374,10 +285,15 @@ OSM.Directions = function (map) {
var pt = L.DomEvent.getMousePosition(oe, map.getContainer()); // co-ordinates of the mouse pointer at present
pt.y += 20;
var ll = map.containerPointToLatLng(pt);
- endpoints[type === "from" ? 0 : 1].setLatLng(ll);
- getRoute(true, true);
+ var precision = OSM.zoomPrecision(map.getZoom());
+ var value = ll.lat.toFixed(precision) + ", " + ll.lng.toFixed(precision);
+ var llWithPrecision = L.latLng(ll.lat.toFixed(precision), ll.lng.toFixed(precision));
+ endpoints[type === "from" ? 0 : 1].setValue(value, llWithPrecision);
});
+ endpoints[0].enable();
+ endpoints[1].enable();
+
var params = Qs.parse(location.search.substring(1)),
route = (params.route || "").split(";"),
from = route[0] && L.latLng(route[0].split(",")),
@@ -395,8 +311,6 @@ OSM.Directions = function (map) {
endpoints[1].setValue(params.to || "", to);
map.setSidebarOverlaid(!from || !to);
-
- getRoute(true, true);
};
page.load = function () {
@@ -408,11 +322,12 @@ OSM.Directions = function (map) {
$(".directions_form").hide();
$("#map").off("dragend dragover drop");
+ endpoints[0].disable();
+ endpoints[1].disable();
+
map
.removeLayer(popup)
- .removeLayer(polyline)
- .removeLayer(endpoints[0].marker)
- .removeLayer(endpoints[1].marker);
+ .removeLayer(polyline);
};
return page;
|