JSAPI Three API Reference
    正在准备搜索索引...

    本地搜索服务

    支持以下功能:

    • 关键词搜索POI(兴趣点)
    • 支持百度地图和天地图API
    • 分页搜索支持
    • 自动渲染搜索结果到地图
    // 创建百度地图本地搜索服务
    const localSearch = new mapvthree.services.LocalSearch({
    apiSource: mapvthree.services.API_SOURCE_BAIDU,
    pageCapacity: 20,
    renderOptions: {
    engine: engine,
    autoViewport: true,
    },
    });

    // 搜索餐厅
    localSearch.search('餐厅', {
    pageNum: 0,
    });
    // 创建天地图本地搜索服务
    const localSearch = new mapvthree.services.LocalSearch({
    apiSource: mapvthree.services.API_SOURCE_TIANDITU,
    pageCapacity: 10,
    renderOptions: {
    engine: engine,
    autoViewport: false,
    },
    });

    // 搜索酒店
    const result = await localSearch.search('酒店');
    console.log('搜索结果:', result.pois);
    索引

    构造函数

    • 创建本地搜索服务实例

      参数

      • options: {
            apiSource?: string;
            pageCapacity?: number;
            pageNum?: number;
            renderOptions?: {
                autoViewport?: boolean;
                enableRender?: boolean;
                engine: Engine;
            };
        } = {}

        配置参数

        • 可选apiSource?: string

          API数据源。 可以配置为services.API_SOURCE_BAIDUservices.API_SOURCE_TIANDITU,默认使用配置的数据源

        • 可选pageCapacity?: number

          每页结果数,默认10

        • 可选pageNum?: number

          页码,默认0

        • 可选renderOptions?: { autoViewport?: boolean; enableRender?: boolean; engine: Engine }

          渲染配置

          • 可选autoViewport?: boolean

            是否自动调整地图视图以包含所有搜索结果

          • 可选enableRender?: boolean

            是否启用自动渲染,设为 false 可禁用渲染但保留 engine 用于其他功能

          • engine: Engine

            地图引擎实例

      返回 LocalSearch

    方法

    • 获取当前每页容量

      返回 number

      每页容量

      const capacity = localSearch.getPageCapacity();
      console.log('当前每页容量:', capacity);
    • 获取当前页码

      返回 number

      当前页码

      const pageNum = localSearch.getPageNum();
      console.log('当前页码:', pageNum);
    • 获取搜索结果

      返回 any

      搜索结果

    • 跳转到指定页码

      参数

      • pageNum: number

        页码

      返回 void

    • 搜索POI(兴趣点)

      参数

      • keyword: string

        搜索关键词

      • 可选opts: { pageCapacity?: number; pageNum?: number } = {}

        搜索选项

        • 可选pageCapacity?: number

          每页结果数

        • 可选pageNum?: number

          页码

      返回 Promise<any>

      搜索结果

      const result = await localSearch.search('餐厅', {
      pageCapacity: 20,
      pageNum: 0,
      });
      console.log('找到', result.pois.length, '个餐厅');
    • 范围检索

      参数

      • keyword: string | string[]

        搜索关键词,支持多关键字

      • bounds: { ne: number[]; sw: number[] }

        搜索范围

        • ne: number[]

          东北角坐标 [lng, lat]

        • sw: number[]

          西南角坐标 [lng, lat]

      • 可选opts: any = {}

        搜索选项

      返回 Promise<any>

      搜索结果

      const result = await localSearch.searchInBounds('餐厅', {
      sw: [116.274625, 39.961627],
      ne: [116.367474, 39.988609],
      });
    • 周边检索

      参数

      • keyword: string | string[]

        搜索关键词,支持多关键字

      • center: number[]

        中心点坐标 [lng, lat]

      • radius: number

        检索半径(米)

      • 可选opts: any = {}

        搜索选项

      返回 Promise<any>

      搜索结果

      const result = await localSearch.searchNearby('餐厅', [116.404, 39.915], 2000);
      
    • 设置检索结果每页容量

      参数

      • cap: number

        每页容量,支持1-100

      返回 void

      localSearch.setPageCapacity(20); // 设置每页显示20个结果
      
    • 设置页码

      参数

      • num: number

        页码,从0开始

      返回 void

      localSearch.setPageNum(1); // 设置第2页
      
    • 设置在索引为index的标注点处显示弹窗

      参数

      • index: number

        索引

      返回 void