| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | 
							- import BoundingRect from 'zrender/lib/core/BoundingRect.js';
 
- import { HashMap } from 'zrender/lib/core/util.js';
 
- import { Group } from '../../util/graphic.js';
 
- import { Region } from './Region.js';
 
- export declare type GeoSVGSourceInput = string | Document | SVGElement;
 
- export declare type GeoJSONSourceInput = string | GeoJSON | GeoJSONCompressed;
 
- export interface NameMap {
 
-     [regionName: string]: string;
 
- }
 
- export interface GeoSpecialAreas {
 
-     [areaName: string]: {
 
-         left: number;
 
-         top: number;
 
-         width?: number;
 
-         height?: number;
 
-     };
 
- }
 
- export interface GeoJSON extends GeoJSONFeatureCollection<GeoJSONGeometry> {
 
- }
 
- export interface GeoJSONCompressed extends GeoJSONFeatureCollection<GeoJSONGeometryCompressed> {
 
-     UTF8Encoding?: boolean;
 
-     UTF8Scale?: number;
 
- }
 
- interface GeoJSONFeatureCollection<G> {
 
-     type: 'FeatureCollection';
 
-     features: GeoJSONFeature<G>[];
 
- }
 
- interface GeoJSONFeature<G = GeoJSONGeometry> {
 
-     type: 'Feature';
 
-     id?: string | number;
 
-     properties: {
 
-         name?: string;
 
-         cp?: number[];
 
-         [key: string]: any;
 
-     };
 
-     geometry: G;
 
- }
 
- declare type GeoJSONGeometry = GeoJSONGeometryPoint | GeoJSONGeometryMultiPoint | GeoJSONGeometryLineString | GeoJSONGeometryMultiLineString | GeoJSONGeometryPolygon | GeoJSONGeometryMultiPolygon;
 
- declare type GeoJSONGeometryCompressed = GeoJSONGeometryPolygonCompressed | GeoJSONGeometryMultiPolygonCompressed | GeoJSONGeometryLineStringCompressed | GeoJSONGeometryMultiLineStringCompressed;
 
- interface GeoJSONGeometryPoint {
 
-     type: 'Point';
 
-     coordinates: number[];
 
- }
 
- interface GeoJSONGeometryMultiPoint {
 
-     type: 'MultiPoint';
 
-     coordinates: number[][];
 
- }
 
- interface GeoJSONGeometryLineString {
 
-     type: 'LineString';
 
-     coordinates: number[][];
 
- }
 
- interface GeoJSONGeometryLineStringCompressed {
 
-     type: 'LineString';
 
-     coordinates: string;
 
-     encodeOffsets: number[];
 
- }
 
- interface GeoJSONGeometryMultiLineString {
 
-     type: 'MultiLineString';
 
-     coordinates: number[][][];
 
- }
 
- interface GeoJSONGeometryMultiLineStringCompressed {
 
-     type: 'MultiLineString';
 
-     coordinates: string[];
 
-     encodeOffsets: number[][];
 
- }
 
- export interface GeoJSONGeometryPolygon {
 
-     type: 'Polygon';
 
-     coordinates: number[][][];
 
- }
 
- interface GeoJSONGeometryPolygonCompressed {
 
-     type: 'Polygon';
 
-     coordinates: string[];
 
-     encodeOffsets: number[][];
 
- }
 
- export interface GeoJSONGeometryMultiPolygon {
 
-     type: 'MultiPolygon';
 
-     coordinates: number[][][][];
 
- }
 
- interface GeoJSONGeometryMultiPolygonCompressed {
 
-     type: 'MultiPolygon';
 
-     coordinates: string[][];
 
-     encodeOffsets: number[][][];
 
- }
 
- export interface GeoResource {
 
-     readonly type: 'geoJSON' | 'geoSVG';
 
-     load(nameMap: NameMap, nameProperty: string): {
 
-         boundingRect: BoundingRect;
 
-         regions: Region[];
 
-         regionsMap: HashMap<Region>;
 
-     };
 
- }
 
- export interface GeoSVGGraphicRoot extends Group {
 
-     isGeoSVGGraphicRoot: boolean;
 
- }
 
- /**
 
-  * Geo stream interface compatitable with d3-geo
 
-  * See the API detail in https://github.com/d3/d3-geo#streams
 
-  */
 
- export interface ProjectionStream {
 
-     point(x: number, y: number): void;
 
-     lineStart(): void;
 
-     lineEnd(): void;
 
-     polygonStart(): void;
 
-     polygonEnd(): void;
 
-     /**
 
-      * Not supported yet.
 
-      */
 
-     sphere(): void;
 
- }
 
- export interface GeoProjection {
 
-     project(point: number[]): number[];
 
-     unproject(point: number[]): number[];
 
-     /**
 
-      * Projection stream compatitable to d3-geo projection stream.
 
-      *
 
-      * When rotate projection is used. It may have antimeridian artifacts.
 
-      * So we need to introduce the fule projection stream to do antimeridian clipping.
 
-      *
 
-      * project will be ignored if projectStream is given.
 
-      */
 
-     stream?(outStream: ProjectionStream): ProjectionStream;
 
- }
 
- export {};
 
 
  |