Skip to content

请求参数说明

本文说明 SearchClient 请求与初始化 所使用的 Entity SDK 类型com.telenav.sdk.entity.*)及 com.telenav.searchservice.api 中的 SearchSettingsNetworkMode 等,在 Google 搜索TN(Entity)搜索 下的 支持程度与行为差异

类型与路径总览

类型 主要 Builder Google TN
GeoPoint searchRequest / suggestionPredictionRequest / getDetailRequest
SearchServiceInitOptions / SearchSettings SearchService.initialize
NetworkMode SearchClient.setNetworkMode
MultiboxQuery searchRequest().setQuery(MultiboxQuery)
SearchFilters 及子类型 searchRequest().setFilters(...) 部分
EvFilter SearchFilters.setEvFilter(...) ✅(部分字段)
FacetParameters setFacetParameters(...)
SortType searchRequest().setSort(...)
SearchOptions searchRequest().setSearchOptions(...) 部分
GetDetailOptions getDetailRequest().setDetailOptions(...)
ExitPoint searchByExitRequest().setExits(...)

初始化与网络

SearchServiceInitOptions

SearchService.initialize() 使用(com.telenav.searchservice.api.SearchServiceInitOptions)。

字段 是否必填 默认值 含义
sdkOptions Entity SDKOptions(鉴权、endpoint、目录、区域等);setRegion(...) 同时用于 Entity Service 与Google service
searchSettings 见下表 SearchSettings
enableNavPoint false Google 导航点true 时算路坐标更精准;须与服务端 enable_nav_point 同时为 true

setRegion(...) 支持值及与 endpoint、初始化位置的一致性要求见 快速接入 §3.1

Nav Point 详解见 快速接入 §3.1 enableNavPoint

SearchSettings

SearchService.initialize() / SearchServiceInitOptions,不随每次搜索传递(com.telenav.searchservice.api.SearchSettings)。

字段 是否必填 默认值 含义
allowOffer null 是否允许 Offer facet
timeout Google WebView 等待上限(毫秒)→ 超时 fallback TN;须 > 0,常用 5000
googleSearchEnabled 是否启用 Google 搜索路径
userIsExpired 影响 TN 云搜开关
rgcIsOnboard onboard RGC 策略;云集成通常 false
onlyOnBoardSearch false true 时仅 onboard Entity,不初始化云 EntityClient

详见 快速接入 §3.1 构造函数说明。

NetworkMode

枚举 行为
CONNECTED TN SDKRuntime.setNetworkAvailable(true);Google 触发 config / bind retry
DISCONNECTED TN 标记离线;Google WebView 暂停相关能力

APISearchClient.setNetworkMode。集成方应在系统网络变化时调用。


位置与坐标

GeoPoint

Entity SDK WGS84 坐标(com.telenav.sdk.entity.model.base.GeoPoint)。

字段 含义
latitude 纬度
longitude 经度

用途

  • searchRequest().setLocation(GeoPoint) — 搜索中心
  • searchRequest().setAnchor(lat, lon) — 锚点(优先使用 anchor 作为 搜索中心)
  • SearchFiltersBBoxGeoFilterbottomLeft / topRight
  • suggestionPredictionRequest().setLocation(...)
  • getDetailRequest().setLocation(lat, lon) — 车机位置
  • GoogleSearchAvailabilityPolicy 内部 RGC 判国家

Builder 也支持 setLocation(lat, lon) 重载。


searchRequest() 入参

查询:String / MultiboxQuery

方式 说明
setQuery(String) 普通文本搜索
setQuery(MultiboxQuery) 多条件 / 语音结构化查询(what / where 等 tag)

MultiboxQuery 示例:

1
2
3
4
val multibox = MultiboxQuery.builder()
    .addTag(Tag.WHAT, "coffee")
    .addTag(Tag.WHERE, "San Francisco")
    .build()
路径 行为
Google 使用 request.query 字符串作为 搜索关键词;Multibox 需 TN 侧组装后体现在 query 中
TN 原样交给 Entity SDK

SearchFilters

通过 SearchFilters.builder() 组合地理、分类、EV、品牌等过滤。SearchRequestAnalyzer 根据 geoFilter.type 与是否含 categoryFilter 决定 operation 及是否可走 Google。

CategoryFilter

字段 含义
categories 分类 ID 列表(如 "241""771"

有分类 + RadiusGeoFiltercategorySearch;有分类 + BBoxGeoFiltercategoryBoundingBoxSearch

地理过滤(GeoFilter 子类型)

类型 Builder Google 说明
RadiusGeoFilter RadiusGeoFilter.builder(radiusMeters) 分类搜索半径;未设时 Google 默认约 5000m
BBoxGeoFilter BBoxGeoFilter.builder(bbox) 矩形框选;BBoxbottomLeft / topRight GeoPoint 构成
CorridorGeoFilter Entity SDK builder 沿途搜索(Along Route);路线 corridor 搜索,Google 不支持
PolygonGeoFilter Entity SDK builder 多边形范围搜索

BrandFilter

仅品牌、无分类时 → brandSearchTN only

EvFilter

置于 SearchFilters.setEvFilter(...)com.telenav.sdk.entity.model.base.EvFilter),用法与 Entity SDK 一致:在 searchRequest() 中设置后由 SearchClient 在搜索 API 调用中转发过滤条件。

字段 Google TN
connectorTypes
minPower
maxPower
其他(如 available、营业状态、charger brand 等)

SortType

searchRequest().setSort(SortType)com.telenav.sdk.entity.model.base.SortType)。

枚举 Google TN
SortType.BEST_MATCH
SortType.DISTANCE

SearchOptions

searchRequest().setSearchOptions(SearchOptions)

典型用法 Google TN
setShowAddressLines(true)
setIntent(SearchOptions.Intent.REVERSE_GEOCODING) operation=rgc

FacetParameters

searchRequest() / getDetailRequest()setFacetParameters(FacetParameters)

典型用法 Google TN
setFacetParameters(...)

停车 facet、充电聚合字段、详情 等子结构以 Entity SDK 文档为准;Google 路径当前不转发该参数。


其他 searchRequest() 字段

Builder 方法 说明
setLimit(Int) 返回条数;Google 单页上限 20
setLocale(Locale) 语言地区
setPageContext(String) 分页上下文(TN)
setFacetParameters(FacetParameters) 见上节

其他 Builder 入参

suggestionPredictionRequest()

字段 类型 说明
query String 输入关键词
location GeoPoint 搜索中心

Google / TN 均可;Hybrid 模式下 Google 优先。

getDetailRequest()

字段 类型 说明
entityIds List<String> Entity ID;P-G 前缀走 Google
detailOptions GetDetailOptions EntityDetailLevel.FULLsetShowAddressLines
location lat, lon 车机位置
facetParameters FacetParameters? TN 全量;Google 忽略

searchByExitRequest()(TN only)

字段 类型 说明
location lat, lon 搜索中心
categories List<String> 分类 ID
radiusInMeter Double 半径,默认约 1609.3m
exits List<ExitPoint> 高速出口 / 服务区(Entity SDK)

集成方 HMI 若持有自有 VO(如含 UI 字段的出口模型),需在宿主层映射为 ExitPoint 再传入 builder。

discoverCategoryRequest() / discoverBrandRequest() / discoverPlaceRequest() / wordPredictionRequest() / getCategoriesRequest()

参数与 Entity SDK EntityClient 同名 builder 一致,均 TN only,直接转发 TN EntityClient

  • discoverCategoryRequest() / discoverBrandRequest():可选 setFilters(DiscoverFilters)(半径过滤,单位米)。
  • discoverPlaceRequest():可选 setDiscoverOptions(DiscoverPlaceOptions)(如 setLiteResult)、setFilters(DiscoverPlaceFilters)(半径 / 矩形 / 多边形 / EV 过滤)。

集成方速查

  1. 必会GeoPointSearchSettings(初始化);业务数据读 SearchResponse.entitySearchOrNull() / autocompleteOrNull()
  2. 文本 / 分类 / 框选:统一 searchRequest() + SearchFilters;分类 ID 见 快速接入 §3.14
  3. 充电站过滤SearchFilters + EvFilter,调用方式与 Entity SDK 一致。
  4. 停车 / 充电 facet、详情 PHOTOFacetParameters仅 TN
  5. 沿途搜索(Along Route)searchRequest() + CorridorGeoFilter仅 TN;Google 不支持。
  6. 高速出口 / 服务区searchByExitRequest() + ExitPoint仅 TN
  7. 排序SortType.BEST_MATCH / SortType.DISTANCE;Google / TN 均支持。
  8. 网络:前台监听系统网络后 SearchClient.setNetworkMode;Google 可用性用 SearchService.refreshGoogleAvailability + setGoogleSearchAvailabilityListener(回调含 state.reason 诊断,见 快速接入 §3.6)。

维护说明

  • 新增请求字段时:同步更新本文档、快速接入EntityRequestBuilders / SearchRequestAnalyzer / GoogleSearchExecutor 中的实际转发逻辑。
  • 若 Google 开始支持某 TN 专属 facet 或 geo 类型,更新本文档 「类型与路径总览」 表中 Google 列,并在 GoogleSearchExecutor 中实现转发。