• 应用缺少POI数据,如何开发地点深度信息?


    用户在App里搜索某个地点时,并不满足单一的地点信息,希望得到更多可以帮助其做决策的深度信息。例如有打车出行需求的用户,在打车App里搜索地点时可以显示周边的地点,精确到某个路口,让用户可以自由选择合适的上下车点。银行金融App类可以让用户在搜索时显示附近线下网点和营业时间、电话以及周边道路信息等。

    不过在App里开发搜索地点的相关信息功能需要大量的地点数据等信息,面对数据不够的情况,怎么才能开发提供用户在查看不同类型的地点(如酒店、餐饮、景点)时,可以获取到有针对性的深度信息(如营业时间、评分等)的能力呢?

    HMS Core位置服务提供一站式搜索服务,拥有2.6+亿全球POI数据,覆盖200+国家与地区,支持全球70+种语言。其中地点详情功能可以根据地点的唯一主键地点ID获取地点详情,地点详细信息请求返回有关指定地点的更全面的信息, 如地点名称、地址详细信息、经纬度等。比如用户打开物流类App可以搜索到附近网点、营业时间、电话等;旅行类App提供搜索景点具体的位置、附近的酒店、天气等;LBS类游戏也可以基于地点详情功能做相关改编,在游戏内搜索某地点时可以查看该地点的任务、玩家、区域排名等。

    Demo演示

    开发步骤

    1. 开发准备

    1.1 配置AppGallery Connect

    在开发应用前,需要在AppGallery Connect中配置相关信息。

    1.2 集成HMS Core SDK

    针对Android Studio开发环境,华为提供了Maven仓集成方式的HMS Core SDK包。在开始开发前,您需要将HMS Core SDK集成到您的Android Studio开发环境中。

    1.3 配置混淆脚本

    编译APK前需要配置混淆配置文件,避免混淆HMS Core SDK导致功能异常。

    详细准备步骤可参考华为开发者联盟官网

    2. 地点详情
    // 声明SearchService对象 
    private SearchService searchService; 
    // 创建SearchService实例 
    searchService = SearchServiceFactory.create(this, "
    API key
    ");
    // 创建请求体 
    DetailSearchRequest request = new DetailSearchRequest(); 
    request.setSiteId("
    C2B922CC4651907A1C463127836D3957
    "); 
    request.setLanguage("
    fr
    "); 
    request.setChildren(
    false
    );
    // 创建搜索结果侦听器 
    SearchResultListener resultListener = new SearchResultListener() { 
        // 正常结果返回 
        @Override 
        public void onSearchResult(DetailSearchResponse result) { 
            Site site;
            if (result == null || (site = result.getSite()) == null) { 
                return; 
            }
             Log.i("TAG", String.format("siteId: '%s', name: %s\r\n", site.getSiteId(), site.getName())); 
        } 
        // 异常结果返回 
        @Override 
        public void onSearchError(SearchStatus status) { 
            Log.i("TAG", "Error : " + status.getErrorCode() + " " + status.getErrorMessage()); 
        } 
    }; 
    // 调用地点详情接口 
    searchService.detailSearch(request, resultListener);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    了解更多详情>>

    访问华为开发者联盟官网
    获取开发指导文档
    华为移动服务开源仓库地址:GitHubGitee

    关注我们,第一时间了解 HMS Core 最新技术资讯~

  • 相关阅读:
    kafka集群工作机制
    DateTime6
    很强!4.7k star,推荐一款Python工具,可实现自动化操作!!
    C++11单例模式
    【华为HCIP | 华为数通工程师】ISIS 高频题(1)
    vue03模板语法(下)
    Hadoop NameNode执行命令工作流程
    【Linux】进程概念 —— PCB
    PyTorch源码学习系列 - 1.初识
    云导DNS和知识科普以及课堂笔记
  • 原文地址:https://blog.csdn.net/HUAWEI_HMSCore/article/details/126399437