ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
119 lines (118 loc) • 2.99 kB
TypeScript
/// <reference types="@types/amap-js-api" />
import { NgZone } from '@angular/core';
import { Observable } from 'rxjs';
import { AmapPluginLoaderService } from '../../shared/amap-plugin-loader.service';
import { EventBinderService } from '../../shared/event-binder.service';
import { LoggerService } from '../../shared/logger/logger.service';
import { Getter } from '../../base/interfaces';
export declare namespace AMapAutocomplete {
type DataType = 'all' | 'bus' | 'poi' | 'busline';
interface Options {
/**
* 输入提示时限定POI类型,多个类型用“|”分隔
*/
type?: string;
/**
* 输入提示时限定城市
*/
city?: string;
/**
* 返回的数据类型
*/
datatype?: DataType;
/**
* 是否强制限制在设置的城市内搜索
*/
citylimit?: boolean;
/**
* 指定输入框
*/
input?: string | HTMLInputElement;
/**
* 指定输出面板
*/
output?: string | HTMLDivElement;
/**
* 是否在input位于页面较下方的时候自动将输入面板显示在input上方以避免被遮挡
*/
outPutDirAuto?: boolean;
}
interface Tip {
/**
* 名称
*/
name: string;
/**
* 所属区域
*/
district: string;
/**
* 区域编码
*/
adcode: string;
/**
* 地址
*/
address: string;
/**
* 城市
*/
city: any[];
/**
* ID
*/
id: string;
/**
* 坐标经纬度
*/
location: AMap.LngLat;
/**
* 类型编码
*/
typecode: string;
}
interface SearchResult {
/**
* 查询状态说明
*/
info: string;
/**
* 输入提示条数
*/
count: number;
/**
* 输入提示列表
*/
tips: Tip[];
}
type SearchStatus = 'complete' | 'error' | 'no_data';
}
export interface AutocompleteSearchResult {
status: AMapAutocomplete.SearchStatus;
result: string | AMapAutocomplete.SearchResult;
}
export declare class AmapAutocompleteService implements Getter<any> {
private plugin;
private binder;
private logger;
private ngZone;
private ac;
private ac$;
constructor(plugin: AmapPluginLoaderService, binder: EventBinderService, logger: LoggerService, ngZone: NgZone);
/**
* 获取插件
*/
get(): Observable<any>;
/**
* 侦听事件
*/
on(event: string): import("@angular/core").EventEmitter<any>;
/**
* 创建插件
*/
create(options: AMapAutocomplete.Options): Observable<any>;
/**
* 搜索
*/
search(address: string): Observable<AutocompleteSearchResult>;
}