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

iOS Here SDK Explore Edition如何获取地点的placeCategory ID?

获取HERE地点分类ID的方法及SearchEngine使用说明

1. 直接提取分类ID的方式

你提到的官方地点分类系统中,每个分类都对应唯一的ID,可直接从该分类文档中找到目标分类对应的ID值,无需通过API查询。

2. 通过SearchEngine获取分类ID的正确方法

你当前使用PlaceIdQuery查询的是单个地点的详情,只会返回该地点本身的原有信息,无法获取额外的分类ID映射。要获取分类ID,需调整查询逻辑:

  • 使用DiscoverQuery进行关键词或范围搜索时,返回的Place对象包含categories字段,其中就有该地点对应的分类ID与名称。
  • 示例代码参考:
// 关键词搜索获取带分类信息的地点示例
let query = DiscoverQuery.term("餐厅", near: GeoCoordinate(latitude: 52.5200, longitude: 13.4050))
searchEngine.search(discoverQuery: query, languageCode: .deDe) { result in
    switch result {
    case .success(let response):
        for place in response.items {
            // 提取分类ID
            if let categories = place.categories {
                for category in categories {
                    print("分类ID:\(category.id),分类名称:\(category.name)")
                }
            }
        }
    case .failure(let error):
        print("搜索错误:\(error)")
    }
}

如果已经持有Place对象,无需再用PlaceIdQuery重复查询,直接访问place.categories属性即可提取分类ID。

3. 你当前代码的问题分析

你用PlaceIdQuery查询单个地点ID,返回的内容和初始获取的places数据完全一致,因此不会得到新的分类相关内容。直接从已有的Place对象中提取分类信息即可。

内容的提问来源于stack exchange,提问作者Tim Röring

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 20:20:34