- endpoint.marker.on("drag dragend", function (e) {
- var latlng = e.target.getLatLng();
+ endpoint.enable = function () {
+ endpoint.marker.on("drag dragend", markerDragListener);
+ input.on("keydown", inputKeydownListener);
+ input.on("change", inputChangeListener);
+ };
+
+ endpoint.disable = function () {
+ endpoint.marker.off("drag dragend", markerDragListener);
+ input.off("keydown", inputKeydownListener);
+ input.off("change", inputChangeListener);
+
+ if (endpoint.geocodeRequest) endpoint.geocodeRequest.abort();
+ delete endpoint.geocodeRequest;
+ map.removeLayer(endpoint.marker);
+ };
+
+ function markerDragListener(e) {
+ var latlng = convertLatLngToZoomPrecision(e.target.getLatLng());