ngx-open-map-wrapper/lib/adapters/map-adapter.interface.d.ts

52 lines
1.1 KiB
TypeScript

export interface MapOptions {
center: LatLng;
zoom: number;
styleUrl: string;
tileUrl: string;
}
export interface GeoPoint {
x: number;
y: number;
}
export interface Zone {
id: string;
name?: string;
color?: string;
opacity?: number;
polygon: GeoPoint[];
shippingFee?: number;
deliverySchedule?: string;
}
export interface Address {
line1: string;
line2?: string;
postalCode: string;
subdivision: string;
city: string;
country: string;
shippingFee?: number;
deliverySchedule?: string;
}
export type LatLng = [number, number];
export declare function getLngLat(latLng: LatLng): [number, number];
export interface IMapAdapter {
init(container: HTMLElement, options: MapOptions): void;
setCenter(latLng: LatLng): void;
setZoom(zoom: number): void;
addMarker(latLng: LatLng, options?: { id?: string; color?: string }): void;
removeMarker(id?: string): void;
destroy(): void;
addZone(zone: Zone[]): void;
updateZone(zone: Zone[]): void;
openZonePopup(zone: Zone) : void
openAddressPopup(address: Address): void;
closePopup(): void;
on(
type: string,
event: (e: any) => void,
): void;
}