tianditu-types
Version:
169 lines (158 loc) • 5.09 kB
TypeScript
declare namespace T {
class LocalSearch {
/** 创建一个搜索类实例用于位置检索、周边检索和范围检索 */
constructor(map: Map, opts: LocalSearchOptions);
/** 根据检索词发起检索 */
search(keyword: string, type: number): void;
/** 根据范围和检索词发起范围检索 */
searchInBounds(keyword: string, bounds: LngLatBounds): void;
/** 根据中心点、半径与检索词发起周边检索 */
searchNearby(keyword: string, center: LngLat, radius: number): void;
/** 返回最近一次检索的结果 */
getResults(): LocalSearchResult;
/** 清除最近一次检索的结果 */
clearResults(): void;
/** 检索特定页面的结果 */
gotoPage(page: number): void;
/**
* 设置检索范围
* @param code 行政区的国标码
*/
setSpecifyAdminCode(code: number): void;
/** 设置搜索类型 */
setQueryType(type: LocalSearchResult["resultType"]): void;
/** 返回搜索类型 */
getQueryType(): LocalSearchResult["resultType"];
/** 设置每页容量 */
setPageCapacity(count: number): void;
/** 返回每页容量 */
getPageCapacity(): number;
/** 设置检索结束后的回调函数 */
setSearchCompleteCallback(fn: LocalSearchOptions["onSearchComplete"]): void;
/** 检索第一页 */
firstPage(): void;
/** 检索下一页 */
nextPage(): void;
/** 检索上一页 */
prevPage(): void;
/** 检索上一页 */
lastPage(): void;
/** 返回总记录数 */
getCountNumber(): number;
/** 返回总记录数 */
getCountPage(): number;
/** 返回当前页 */
getPageIndex(): number;
}
interface LocalSearchOptions {
/** 每页容量 */
pageCapacity?: number;
/** 检索结束后的回调函数 */
onSearchComplete?: (result: LocalSearchResult) => void;
}
interface LocalSearchResult {
/** 搜索类型。1表示普通搜索;2表示视野内搜索;4表示普通建议词搜索;5表示公交规划建议词搜索;7表示纯地名搜索(不搜公交线);10表示拉框搜索 */
resultType: number | string;
count: number | string;
KeyWord: string;
pois: LocalSearchPoi[] | false;
statistics: LocalSearchStatistics | false;
area: LocalSearchArea | false;
suggests: LocalSearchSuggest[] | false;
prompt: LocalSearchPrompt[] | false;
lineData: LocalSearchLineData[] | false;
/** 返回搜索类型 */
getResultType(): number;
/** 返回检索总条数 */
getCount(): number;
/** 返回检索关键词 */
getKeyword(): number;
/** 返回点信息,当getResultType值为1时返回 */
getPois(): LocalSearchPoi[];
/** 返回统计信息,当getResultType值为2时返回 */
getStatistics(): LocalSearchStatistics;
/** 返回行政区省信息,当getResultType值为3时返回 */
getArea(): LocalSearchArea;
/** 返回建议词信息,当getResultType值为4时返回 */
getSuggests(): LocalSearchSuggest[];
/** 返回提示信息 */
getPrompt(): LocalSearchPrompt;
/** 返回线路信息,当getResultType值为5时返回 */
getLineData(): LocalSearchLineData[];
}
/** 点信息 */
interface LocalSearchPoi {
/** 电话 */
phone: string;
/** 坐标 */
lonlat: string;
/** 地址 */
address: string;
/** Poi点名称 */
name: string;
/** poi类型(102表示公交站,普通poi该参数可以不返回) */
poiType: string;
}
/** 统计信息 */
interface LocalSearchStatistics {
/** 推荐显示城市 */
priorityCitys: LocalSearchAdmin[];
/** 搜索的关键字 */
keyword: string;
/** 搜索的国家数量 */
countryCount: number;
/** 搜索的城市数量 */
citysCount: number;
/** 搜索的省份数量 */
provinceCount: number;
allAdmins: (LocalSearchAdmin & { childAdmins: LocalSearchAdmin[] })[];
}
/** 行政区省信息 */
interface LocalSearchArea {
/** 显示级别 */
level: string;
/** 定位中心点坐标 */
lonlat: string;
/** 名称 */
name: string;
/** 行政区边界坐标 */
points: { region: string }[];
/** 1表示正常区域,2表示特殊区域 */
type: string;
}
/** 建议词信息 */
interface LocalSearchSuggest {
/** 地址 */
address: string;
/** 名称 */
name: string;
/** 国标码 */
gbCode: string;
}
/** 提示信息 */
interface LocalSearchPrompt {
/** 关键字 */
keyword: string;
admins: LocalSearchAdmin[];
type: number;
}
/** 线路信息 */
interface LocalSearchLineData {
/** poi点的poi类型(poiType =102表示公交站,其它值表示普通poi) */
poiType: string;
/** 站数 */
stationNum: string;
/** 线路名称 */
name: string;
/** 线路的id */
uuid: string;
}
interface LocalSearchAdmin {
/** 统计数量 */
count: string;
/** 城市名称 */
name: string;
/** 城市国标码 */
adminCode: number;
}
}