};
function markerDragListener(e) {
- var latlng = convertLatLngToZoomPrecision(e.target.getLatLng());
+ const latlng = L.latLng(OSM.cropLocation(e.target.getLatLng(), map.getZoom()));
if (endpoint.geocodeRequest) endpoint.geocodeRequest.abort();
delete endpoint.geocodeRequest;
};
function getGeocode() {
- var viewbox = map.getBounds().toBBoxString(); // <sw lon>,<sw lat>,<ne lon>,<ne lat>
- var geocodeUrl = OSM.NOMINATIM_URL + "search?q=" + encodeURIComponent(endpoint.value) + "&format=json&viewbox=" + viewbox;
+ const viewbox = map.getBounds().toBBoxString(), // <sw lon>,<sw lat>,<ne lon>,<ne lat>
+ geocodeUrl = OSM.NOMINATIM_URL + "search?" + new URLSearchParams({ q: endpoint.value, format: "json", viewbox });
endpoint.geocodeRequest = $.getJSON(geocodeUrl, function (json) {
delete endpoint.geocodeRequest;
if (json.length === 0) {
input.addClass("is-invalid");
+ // eslint-disable-next-line no-alert
alert(I18n.t("javascripts.directions.errors.no_place", { place: endpoint.value }));
return;
}
}
function getReverseGeocode() {
- var latlng = endpoint.latlng.clone();
- var reverseGeocodeUrl = OSM.NOMINATIM_URL + "reverse?lat=" + latlng.lat + "&lon=" + latlng.lng + "&format=json";
+ const latlng = endpoint.latlng.clone(),
+ { lat, lng } = latlng,
+ reverseGeocodeUrl = OSM.NOMINATIM_URL + "reverse?" + new URLSearchParams({ lat, lon: lng, format: "json" });
endpoint.geocodeRequest = $.getJSON(reverseGeocodeUrl, function (json) {
delete endpoint.geocodeRequest;
input.val(latlng.lat + ", " + latlng.lng);
}
- function convertLatLngToZoomPrecision(latlng) {
- var precision = OSM.zoomPrecision(map.getZoom());
-
- return L.latLng(latlng.lat.toFixed(precision), latlng.lng.toFixed(precision));
- }
-
return endpoint;
};