+ 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) {