ngx-mapbox-gl
Version:
A Angular binding of mapbox-gl-js
64 lines (63 loc) • 4.54 kB
TypeScript
import { OnChanges, OnDestroy, OnInit, SimpleChanges, type InputSignal } from '@angular/core';
import type { GeoJSONSourceSpecification } from 'mapbox-gl';
import { Subject } from 'rxjs';
import type { Feature, GeoJSON } from 'geojson';
import * as i0 from "@angular/core";
type GeoJSONSourceInputs = {
[K in keyof Omit<GeoJSONSourceSpecification, 'type'>]: InputSignal<Omit<GeoJSONSourceSpecification, 'type'>[K]>;
};
export declare class GeoJSONSourceComponent implements OnInit, OnDestroy, OnChanges, GeoJSONSourceInputs {
private mapService;
private zone;
id: InputSignal<string>;
data: import("@angular/core").ModelSignal<string | GeoJSON | undefined>;
minzoom: InputSignal<number | undefined>;
maxzoom: InputSignal<number | undefined>;
attribution: InputSignal<string | undefined>;
buffer: InputSignal<number | undefined>;
tolerance: InputSignal<number | undefined>;
cluster: InputSignal<boolean | undefined>;
clusterRadius: InputSignal<number | undefined>;
clusterMaxZoom: InputSignal<number | undefined>;
clusterMinPoints: InputSignal<number | undefined>;
clusterProperties: InputSignal<unknown>;
lineMetrics: InputSignal<boolean | undefined>;
generateId: InputSignal<boolean | undefined>;
promoteId: InputSignal<import("mapbox-gl").PromoteIdSpecification | undefined>;
filter: InputSignal<unknown>;
dynamic: InputSignal<boolean | undefined>;
updateFeatureData: Subject<unknown>;
private sub;
private sourceAdded;
private featureIdCounter;
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): 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 | null | undefined>;
/**
* 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<Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[] | null | undefined>;
/**
* 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<Feature<import("geojson").Geometry, import("geojson").GeoJsonProperties>[]>;
_addFeature(feature: GeoJSON.Feature<GeoJSON.GeometryObject>): void;
_removeFeature(feature: GeoJSON.Feature<GeoJSON.GeometryObject>): void;
_getNewFeatureId(): number;
private init;
static ɵfac: i0.ɵɵFactoryDeclaration<GeoJSONSourceComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<GeoJSONSourceComponent, "mgl-geojson-source", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "minzoom": { "alias": "minzoom"; "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; }; "dynamic": { "alias": "dynamic"; "required": false; "isSignal": true; }; }, { "data": "dataChange"; }, never, never, true, never>;
}
export {};