terra-draw
Version:
Frictionless map drawing across mapping provider
59 lines (58 loc) • 2.19 kB
TypeScript
import { TerraDrawMouseEvent, TerraDrawAdapterStyling, NumericStyling, Cursor, UrlStyling } from "../../common";
import { GeoJSONStoreFeatures, StoreValidation } from "../../store/store";
import { BaseModeOptions, CustomStyling, ModeUpdateOptions, TerraDrawBaseDrawMode } from "../base.mode";
import { BehaviorConfig } from "../base.behavior";
type MarkerModeStyling = {
/** Marker must be a PNG or JPG */
markerUrl: UrlStyling;
markerHeight: NumericStyling;
markerWidth: NumericStyling;
};
interface Cursors {
create?: Cursor;
dragStart?: Cursor;
dragEnd?: Cursor;
}
interface TerraDrawMarkerModeOptions<T extends CustomStyling> extends BaseModeOptions<T> {
cursors?: Cursors;
editable?: boolean;
}
export declare class TerraDrawMarkerMode extends TerraDrawBaseDrawMode<MarkerModeStyling> {
mode: "marker";
private cursors;
private editable;
private editedFeatureId;
private pixelDistance;
private clickBoundingBox;
private pointSearch;
private mutateFeature;
constructor(options?: TerraDrawMarkerModeOptions<MarkerModeStyling>);
updateOptions(options?: ModeUpdateOptions<TerraDrawMarkerModeOptions<MarkerModeStyling>>): void;
/** @internal */
start(): void;
/** @internal */
stop(): void;
/** @internal */
onClick(event: TerraDrawMouseEvent): void;
/** @internal */
onMouseMove(): void;
/** @internal */
onKeyDown(): void;
/** @internal */
onKeyUp(): void;
/** @internal */
cleanUp(): void;
onDragStart(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
/** @internal */
onDrag(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
/** @internal */
onDragEnd(event: TerraDrawMouseEvent, setMapDraggability: (enabled: boolean) => void): void;
registerBehaviors(config: BehaviorConfig): void;
/** @internal */
styleFeature(feature: GeoJSONStoreFeatures): TerraDrawAdapterStyling;
validateFeature(feature: unknown): StoreValidation;
private onLeftClick;
private onRightClick;
afterFeatureUpdated(feature: GeoJSONStoreFeatures): void;
}
export {};