Skip to content

搜索

一个组件只有一个搜索实例,且只会在第一次搜索时才创建。

搜索存在以下缺陷:

  1. 因天地图数据更新不及时,有些poi数据搜不出来;

  2. 没做限制搜出来的poi不一定最近,比较混乱;

  3. 经过多次测试,发现count如果超过100,接口最多返回100条,超过一百就不返回了,翻页也没用,官网测试亦是如此。

  4. 搜索关键词不能为空,必须得有数据,不能使用传空值获取周边所有的pois。。。

调用方法

localSearch(option)

成功返回值 res.data=backData

option

名称类型说明
keywordstring搜索关键词
typenumber搜索类型,1表示普通搜索;2表示视野内搜索;4表示普通建议词搜索;5表示公交规划建议词搜索;7表示 纯地名搜索(不搜公交线);10表示拉框搜索
pageNumnumber页码数
pageSizenumber每页展示数,默认20
bounds[lnglat,lnglat]根据范围和检索词发起范围检索时传入的范围东北角与西南角坐标
centerlnglat搜索中心点,与radius一起用
radiusnumber搜索半径,与center一起用
codenumber设置检索范围的行政区国际码
getDistanceboolean返回搜索地址离当前用户定位的距离,单位米,默认false
successfunction调用成功回调
failfunction调用失败回调

backData

ts
interface backData {
  type: string; // 返回搜索类型
  count: number; // 返回检索总条数。
  keyword: string; // 返回检索关键词。
  pois: any; // 返回点信息,当type值为1时返回。
  statistics: any; // 返回统计信息,当type值为2时返回。
  area: any; // 返回行政区省信息,当type值为3时返回。
  poisArea: any; // 合并的area和pois数据
  suggests: any; // 返回建议词信息,当type值为4时返回。
  prompt: any; // 返回提示信息。
  lineData: any; // 返回线路信息,当type值为5时返回。
  distance: any; // 用户与点位的距离,米
}

示例代码

javascript
TDTRenderRef.value
  .localSearch({
    keyword: keyword.value,
    type: 1,
    center: [106.48558, 29.62383],
    radius: 1000,
    // bounds: [
    //   [106.48222, 29.61736],
    //   [106.48904, 29.62647]
    // ],
    pageNum: data.pageNum,
    pageSize: 20
  })
  .then(res => {
    console.log(res.data);
  });

搜索实例方法

localSearchFn(object)

object

名称类型说明
functionfunction方法名,必填
paramsany方法名对应的参数
successfunction调用成功回调
failfunction调用失败回调

贡献者

mosowe

文档版本 v1.0.1