用戶在App里搜索某個地點時,並不滿足單一的地點信息,希望得到更多可以幫助其做決策的深度信息。例如有打車出行需求的用戶,在打車App里搜索地點時可以顯示周邊的地點,精確到某個路口,讓用戶可以自由選擇合適的上下車點。銀行金融App類可以讓用戶在搜索時顯示附近線下網點和營業時間、電話以及周邊道路信息等。 ...
用戶在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 最新技術資訊~