@maplibre/ngx-maplibre-gl
Version:
A Angular binding of maplibre-gl
95 lines (94 loc) • 5.53 kB
TypeScript
import { OnChanges, SimpleChanges } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "../source.directive";
/**
* `mgl-geojson-source` - a geojson source component
* @see [geojson](https://maplibre.org/maplibre-gl-js/docs/API/classes/maplibregl.GeoJSONSource/)
*
* @category Source Components
*
* @example
* ```html
* ...
* <mgl-map ...>
* <mgl-geojson-source id="symbols-source">
* <mgl-feature
* *ngFor="let geometry of geometries"
* [geometry]="geometry"
* ></mgl-feature>
* </mgl-geojson-source>
* ...
* <mgl-geojson-source
* id="earthquakes"
* [data]="earthquakes"
* [cluster]="true"
* [clusterMaxZoom]="14"
* [clusterRadius]="50"
* ></mgl-geojson-source>
* </mgl-map>
*
* ```
*/
export declare class GeoJSONSourceComponent implements OnChanges {
/** Init injections */
private readonly sourceDirective;
/** Init injection */
private readonly ngZone;
/** Dynamic input */
readonly data: import("@angular/core").InputSignal<string | import("geojson").GeoJSON<import("geojson").Geometry, import("geojson").GeoJsonProperties>>;
/** Dynamic input */
readonly maxzoom: import("@angular/core").InputSignal<number | undefined>;
/** Dynamic input */
readonly attribution: import("@angular/core").InputSignal<string | undefined>;
/** Dynamic input */
readonly buffer: import("@angular/core").InputSignal<number | undefined>;
/** Dynamic input */
readonly tolerance: import("@angular/core").InputSignal<number | undefined>;
/** Dynamic input */
readonly cluster: import("@angular/core").InputSignal<boolean | undefined>;
/** Dynamic input */
readonly clusterRadius: import("@angular/core").InputSignal<number | undefined>;
/** Dynamic input */
readonly clusterMaxZoom: import("@angular/core").InputSignal<number | undefined>;
/** Dynamic input */
readonly clusterMinPoints: import("@angular/core").InputSignal<number | undefined>;
/** Dynamic input */
readonly clusterProperties: import("@angular/core").InputSignal<unknown>;
/** Dynamic input */
readonly lineMetrics: import("@angular/core").InputSignal<boolean | undefined>;
/** Dynamic input */
readonly generateId: import("@angular/core").InputSignal<boolean | undefined>;
/** Dynamic input */
readonly promoteId: import("@angular/core").InputSignal<import("maplibre-gl").PromoteIdSpecification | undefined>;
/** Dynamic input */
readonly filter: import("@angular/core").InputSignal<unknown>;
private readonly updateFeatureDataSubject;
private readonly featureIdCounter;
constructor();
ngOnChanges(changes: SimpleChanges): void;
/**
* For clustered sources, fetches the zoom at which the given cluster expands.
* @param clusterId The value of the cluster's cluster_id property.
*/
getClusterExpansionZoom(clusterId: number): Promise<number>;
/**
* For clustered sources, fetches the children of the given cluster on the next zoom level (as an array of GeoJSON features).
* @param clusterId The value of the cluster's cluster_id property.
*/
getClusterChildren(clusterId: number): Promise<import("geojson").Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[]>;
/**
* For clustered sources, fetches the original points that belong to the cluster (as an array of GeoJSON features).
* @param clusterId The value of the cluster's cluster_id property.
* @param limit The maximum number of features to return.
* @param offset The number of features to skip (e.g. for pagination).
*/
getClusterLeaves(clusterId: number, limit: number, offset: number): Promise<import("geojson").Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[]>;
_addFeature(feature: GeoJSON.Feature<GeoJSON.GeometryObject>): void;
_removeFeature(feature: GeoJSON.Feature<GeoJSON.GeometryObject>): void;
updateFeatureData(): void;
_getNewFeatureId(): number;
private getGeoJSONSourceSpecification;
private updateFeature;
static ɵfac: i0.ɵɵFactoryDeclaration<GeoJSONSourceComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<GeoJSONSourceComponent, "mgl-geojson-source", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "maxzoom": { "alias": "maxzoom"; "required": false; "isSignal": true; }; "attribution": { "alias": "attribution"; "required": false; "isSignal": true; }; "buffer": { "alias": "buffer"; "required": false; "isSignal": true; }; "tolerance": { "alias": "tolerance"; "required": false; "isSignal": true; }; "cluster": { "alias": "cluster"; "required": false; "isSignal": true; }; "clusterRadius": { "alias": "clusterRadius"; "required": false; "isSignal": true; }; "clusterMaxZoom": { "alias": "clusterMaxZoom"; "required": false; "isSignal": true; }; "clusterMinPoints": { "alias": "clusterMinPoints"; "required": false; "isSignal": true; }; "clusterProperties": { "alias": "clusterProperties"; "required": false; "isSignal": true; }; "lineMetrics": { "alias": "lineMetrics"; "required": false; "isSignal": true; }; "generateId": { "alias": "generateId"; "required": false; "isSignal": true; }; "promoteId": { "alias": "promoteId"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.SourceDirective; inputs: { "id": "id"; }; outputs: {}; }]>;
}