- var endpoints = [
- Endpoint($("input[name='route_from']"), OSM.MARKER_GREEN),
- Endpoint($("input[name='route_to']"), OSM.MARKER_RED)
- ];
-
- var expiry = new Date();
- expiry.setYear(expiry.getFullYear() + 10);
-
- var engines = OSM.Directions.engines;
-
- engines.sort(function (a, b) {
- a = I18n.t("javascripts.directions.engines." + a.id);
- b = I18n.t("javascripts.directions.engines." + b.id);
- return a.localeCompare(b);
- });
-
- var select = $("select.routing_engines");
-
- engines.forEach(function (engine, i) {
- select.append("<option value='" + i + "'>" + I18n.t("javascripts.directions.engines." + engine.id) + "</option>");
- });
-
- function Endpoint(input, iconUrl) {
- var endpoint = {};
-
- endpoint.marker = L.marker([0, 0], {
- icon: L.icon({
- iconUrl: iconUrl,
- iconSize: [25, 41],
- iconAnchor: [12, 41],
- popupAnchor: [1, -34],
- shadowUrl: OSM.MARKER_SHADOW,
- shadowSize: [41, 41]
- }),
- draggable: true,
- autoPan: true
- });
-
- endpoint.marker.on("drag dragend", function (e) {
- var dragging = (e.type === "drag");
- if (dragging && !chosenEngine.draggable) return;
- if (dragging && awaitingRoute) return;
- endpoint.setLatLng(e.target.getLatLng());
- if (map.hasLayer(polyline)) {
- getRoute(false, !dragging);
- }
- });
-
- input.on("keydown", function () {
- input.removeClass("error");
- });
-
- input.on("change", function (e) {
- awaitingGeocode = true;
-
- // make text the same in both text boxes
- var value = e.target.value;
- endpoint.setValue(value);
- });