UNPKG

@vertigis/viewer-spec

Version:

VertiGIS Viewer Specification

124 lines (123 loc) 3.65 kB
import type { GeometryUnion } from "@arcgis/core/unionTypes.js"; import type { Feature } from "@vertigis/arcgis-extensions/data/Feature.js"; import type { CountResult } from "@vertigis/arcgis-extensions/tasks/CountResult.js"; import type { AddressLike, GeocodeOptions, Geocoder } from "@vertigis/arcgis-extensions/tasks/geocoding/Geocoder"; import type { Command } from "../Command.js"; import { CommandRegistry } from "../CommandRegistry.js"; import type { Operation } from "../Operation.js"; import { OperationRegistry } from "../OperationRegistry.js"; import type { Features } from "../common.js"; /** * A type that represents a geocoder or an array of configurable geocoders. */ export type GeocodersLike = Geocoder | Geocoder[]; /** * Arguments for the "geocode.geocode" and "geocode.count" operations. */ export interface GeocodeArgs { /** * The address to look up. */ address: AddressLike; /** * Options that affect geocode results. */ options: GeocodeOptions; } /** * Arguments for the "geocode.batch-geocode" operation. */ export interface BatchGeocodeArgs { /** * The addresses to look up. */ addresses: AddressLike[]; /** * Options that affect geocode results. */ options: GeocodeOptions; } /** * Arguments for the "geocode.suggest" operation. */ export interface SuggestArgs { /** * The search text entered by the user. */ searchText: string; /** * Options that affect geocode results. */ options: GeocodeOptions; } /** * Arguments for the "geocode.reverse-geocode" operation. */ export interface ReverseGeocodeArgs { /** * The location to look up. */ geometry: GeometryUnion; /** * Options that affect geocode results. */ options: GeocodeOptions; } /** * Arguments for the "geocode.update-default-geocoder" operation. */ export interface SetActiveGeocodersArgs { /** * Geocoders to be activated. */ geocoders: GeocodersLike; } export declare class GeocodeCommands extends CommandRegistry { protected readonly _prefix = "geocode"; /** * Sets given geocoders as active. Web only. * * @webOnly */ get setActiveGeocoders(): Command<SetActiveGeocodersArgs | GeocodersLike>; } export declare class GeocodeOperations extends OperationRegistry { protected readonly _prefix = "geocode"; /** * Finds one or more locations corresponding to an address. */ get geocode(): Operation<GeocodeArgs, Features>; /** * Finds locations corresponding to multiple addresses. The geocoder must * have the supportsBatchGeocoding capability. Web only. * * @webOnly */ get batchGeocode(): Operation<BatchGeocodeArgs, Features>; /** * Counts the number of locations corresponding to an address. */ get count(): Operation<GeocodeArgs, CountResult>; /** * Suggests matching addresses to search for based on some input text. The * geocoder must have the supportsSuggest capability. */ get suggest(): Operation<SuggestArgs, string[]>; /** * Finds the address at a particular location. The geocoder must have the * supportsReverseGeocoding capability. */ get reverseGeocode(): Operation<ReverseGeocodeArgs, Feature>; /** * Returns all configured geocoders including the active ones. Web only. * * @webOnly */ get getGeocoders(): Operation<void, Geocoder[]>; /** * Returns the active configured geocoders. Web only. * * @webOnly */ get activeGeocoders(): Operation<void, Geocoder[]>; }