import * as maptalks from 'maptalks'; import { ReactElement } from 'react'; import { IFeature, IFeatureCollection, IGeometry } from "./geojsonInterfaces"; export interface IMapOptions { center: number[]; zoom: number; baseLayer: maptalks.TileLayer; } export interface IMapContextProps { map: maptalks.Map; setMap: (map: maptalks.Map) => void; } export interface IImageSymbolOptions { markerFile: string; markerWidth: number; markerHeight: number; markerDx?: number; markerDy?: number; markerOpacity?: number; } export interface IGeometrySymbolOptions { markerType: string; markerFill: string; markerFillOpacity?: number; markerLineColor: string; markerLineWidth: number; markerLineOpacity?: number; markerLineDasharray?: []; markerWidth: number; markerHeight: number; markerDx?: number; markerDy?: number; markerOpacity?: number; } export interface IMapProps { children: ReactElement | ReactElement[]; mapOptions: IMapOptions | undefined; className?: string; getMap?: (map: maptalks.Map) => void; } export interface ILineVectorLayerProps { lines: IGeometry | IFeature | IFeatureCollection; styles: IGeometrySymbolOptions | IImageSymbolOptions; idLayer: string; } export interface IMarkerOptions { id: string; coordinates: number[]; geometrySymbolOptions?: IGeometrySymbolOptions; imageSymbolOptions?: IImageSymbolOptions; } export interface IPointVectorLayerProps { points: IGeometry | IFeature | IFeatureCollection; styles: IGeometrySymbolOptions | IImageSymbolOptions; idLayer: string; } export interface IPolygonVectorLayerProps { polygons: IGeometry | IFeature | IFeatureCollection; styles: IGeometrySymbolOptions | IImageSymbolOptions; idLayer: string; }