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 }