用戶在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 最新技術資訊~
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/502270.html
標籤:Android
