setLatLng(latlng);
setInputValueFromLatLng(latlng);
endpoint.value = input.val();
+ if (e.type === "dragend") getReverseGeocode();
dragCallback(e.type === "drag");
}
if (latlng) {
setLatLng(latlng);
setInputValueFromLatLng(latlng);
+ getReverseGeocode();
changeCallback();
} else if (endpoint.value) {
getGeocode();
});
}
+ function getReverseGeocode() {
+ var reverseGeocodeUrl = OSM.NOMINATIM_URL + "reverse?lat=" + endpoint.latlng.lat + "&lon=" + endpoint.latlng.lng + "&format=json";
+
+ endpoint.geocodeRequest = $.getJSON(reverseGeocodeUrl, function (json) {
+ delete endpoint.geocodeRequest;
+ if (!json || !json.display_name) {
+ return;
+ }
+
+ endpoint.value = json.display_name;
+ input.val(json.display_name);
+ });
+ }
+
function setLatLng(ll) {
input
.attr("data-lat", ll.lat)