You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用H.service.SearchService无法获取地理编码形状的技术问询

迁移H.service.GeocodingService到SearchService的解决方案

1. 位置形状的获取方案

原H.service.GeocodingService通过additionalData直接返回邮政编码区域形状的逻辑,在H.service.SearchService中需要分两步实现:

  • 第一步:调用SearchService的geocode方法,传入q: ${zip}+DEU``作为搜索参数,从返回结果中筛选出类型为postalCode的条目,提取其唯一id(格式类似here:af:postalcode:DExxxxxx)。
  • 第二步:调用SearchService的lookup方法,传入上述id,同时保留additionalData: 'IncludeShapeLevel,postalCode'参数,即可获取对应邮政编码区域的形状数据。

示例代码片段:

// 初始化SearchService实例
const searchService = new H.service.SearchService(platform.getSearchService());

// 第一步:搜索获取邮政编码条目ID
searchService.geocode({
  q: `${zip}+DEU`,
  limit: 1
}, (result) => {
  const postalCodeItem = result.items.find(item => item.resultType === 'postalCode');
  if (postalCodeItem) {
    // 第二步:通过ID查询形状数据
    searchService.lookup({
      id: postalCodeItem.id,
      additionalData: 'IncludeShapeLevel,postalCode'
    }, (lookupResult) => {
      const shapeData = lookupResult.items[0].shape;
      // 处理获取到的形状数据
    }, (err) => {
      console.error('查询形状失败:', err);
    });
  }
}, (err) => {
  console.error('地理编码失败:', err);
});

2. searchText参数的变更说明

是的,searchText参数在H.service.SearchService中已完全废弃,必须使用q参数作为搜索关键词。新API强制要求请求携带q参数,未传入时会直接返回参数错误,直接将原searchText的参数值转移到q字段即可。

内容的提问来源于stack exchange,提问作者JGarnie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 21:44:58