用户在 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<DetailSearchResponse> resultListener = new SearchResultListener<DetailSearchResponse>() {
// 失常后果返回
@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);
理解更多详情 >>
拜访华为开发者联盟官网
获取开发领导文档
华为挪动服务开源仓库地址:GitHub、Gitee
关注咱们,第一工夫理解 HMS Core 最新技术资讯~