e1c5e28e58babb632cb0a52ee97eec598795de4509bf8927de737ea89f71f79a43482571986b2eaa9ad06694408f1b978ea3a6bab251a38d02bc7d34f35b75 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import BoundingRect from 'zrender/lib/core/BoundingRect.js';
  2. import { GeoJSON, GeoProjection } from './geoTypes.js';
  3. import Element from 'zrender/lib/Element.js';
  4. export declare abstract class Region {
  5. readonly name: string;
  6. readonly type: 'geoJSON' | 'geoSVG';
  7. protected _center: number[];
  8. protected _rect: BoundingRect;
  9. constructor(name: string);
  10. setCenter(center: number[]): void;
  11. /**
  12. * Get center point in data unit. That is,
  13. * for GeoJSONRegion, the unit is lat/lng,
  14. * for GeoSVGRegion, the unit is SVG local coord.
  15. */
  16. getCenter(): number[];
  17. abstract calcCenter(): number[];
  18. }
  19. export declare class GeoJSONPolygonGeometry {
  20. readonly type = "polygon";
  21. exterior: number[][];
  22. interiors?: number[][][];
  23. constructor(exterior: number[][], interiors: number[][][]);
  24. }
  25. export declare class GeoJSONLineStringGeometry {
  26. readonly type = "linestring";
  27. points: number[][][];
  28. constructor(points: number[][][]);
  29. }
  30. export declare class GeoJSONRegion extends Region {
  31. readonly type = "geoJSON";
  32. readonly geometries: (GeoJSONPolygonGeometry | GeoJSONLineStringGeometry)[];
  33. properties: GeoJSON['features'][0]['properties'];
  34. constructor(name: string, geometries: GeoJSONRegion['geometries'], cp: GeoJSON['features'][0]['properties']['cp']);
  35. calcCenter(): number[];
  36. getBoundingRect(projection?: GeoProjection): BoundingRect;
  37. contain(coord: number[]): boolean;
  38. /**
  39. * Transform the raw coords to target bounding.
  40. * @param x
  41. * @param y
  42. * @param width
  43. * @param height
  44. */
  45. transformTo(x: number, y: number, width: number, height: number): void;
  46. cloneShallow(name: string): GeoJSONRegion;
  47. }
  48. export declare class GeoSVGRegion extends Region {
  49. readonly type = "geoSVG";
  50. private _elOnlyForCalculate;
  51. constructor(name: string, elOnlyForCalculate: Element);
  52. calcCenter(): number[];
  53. }