Android. 通过百度地图手写一个附近地址搜索 并且自带推荐地址的并且分页
时间: 2024-02-21 13:56:38 浏览: 47
实现附近地址搜索并带有推荐地址的功能,可以按照以下步骤进行:
1. 在布局文件中添加一个搜索栏和一个显示搜索结果的列表控件。
2. 在Activity中,获取百度地图SDK的实例,并设置搜索监听器。
```
// 获取地图实例
BaiduMap mBaiduMap = mMapView.getMap();
// 设置搜索监听器
mPoiSearch = PoiSearch.newInstance();
mPoiSearch.setOnGetPoiSearchResultListener(onGetPoiSearchResultListener);
```
3. 在搜索栏中输入关键词后,调用PoiSearch的searchNearby方法进行附近搜索。
```
// 在搜索栏中输入关键词后,调用PoiSearch的searchNearby方法进行附近搜索
mPoiSearch.searchNearby(new PoiNearbySearchOption()
.location(new LatLng(latitude, longitude))
.keyword(keyword)
.radius(radius) // 搜索半径,单位:米
.pageNum(pageNum) // 分页页码
.pageCapacity(pageCapacity)); // 分页容量
```
4. 在onGetPoiResult回调方法中,获取搜索结果并更新列表控件。
```
// 在onGetPoiResult回调方法中,获取搜索结果并更新列表控件
@Override
public void onGetPoiResult(PoiResult result) {
if (result == null || result.error == SearchResult.ERRORNO.RESULT_NOT_FOUND) {
// 没有搜索到结果
return;
}
if (result.error == SearchResult.ERRORNO.NO_ERROR) {
// 搜索成功
List<PoiInfo> poiList = result.getAllPoi();
// 更新列表控件
mAdapter.setData(poiList);
}
}
```
5. 在搜索栏中输入关键词时,调用PoiSearch的requestSuggestion方法获取推荐地址。
```
// 在搜索栏中输入关键词时,调用PoiSearch的requestSuggestion方法获取推荐地址
mPoiSearch.requestSuggestion(new SuggestionSearchOption()
.keyword(keyword)
.city(city));
```
6. 在onGetSuggestionResult回调方法中,获取推荐地址并更新列表控件。
```
// 在onGetSuggestionResult回调方法中,获取推荐地址并更新列表控件
@Override
public void onGetSuggestionResult(SuggestionResult result) {
if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
// 没有推荐地址
return;
}
List<SuggestionResult.SuggestionInfo> suggestionList = result.getAllSuggestions();
// 更新列表控件
mAdapter.setSuggestionData(suggestionList);
}
```
以上就是实现Android中通过百度地图手写一个附近地址搜索并且自带推荐地址的并且分页的基本步骤,需要根据具体需求进行适当的修改和扩展。
阅读全文