SuggestionSearch mSuggestionSearch;
private void suggestSearch(String keyword) {
mSuggestionSearch = SuggestionSearch.newInstance();
// tv=(TextView) findViewById(R.id.editText1);
mSuggestionSearch.setOnGetSuggestionResultListener(listener);
mSuggestionSearch.requestSuggestion((new SuggestionSearchOption())
.keyword(keyword)
.city("蘇州"));
}
OnGetSuggestionResultListener listener = new OnGetSuggestionResultListener(){
public void onGetSuggestionResult(SuggestionResult res) {
if (res == null || res.getAllSuggestions() == null) {
return;
//未找到相關結果
} else {
ArrayList<LocationInfo> locationInfos = new ArrayList<>();
List<SuggestionResult.SuggestionInfo>resl = res.getAllSuggestions();
for (int i = 0; i <resl.size(); i++) {
Log.i("result: ", "city" + resl.get(i).city + " dis " +resl.get(i).district+ "key " + resl.get(i).key);
LocationInfo info = new LocationInfo();
info.setAddress(resl.get(i).city + " -- " +resl.get(i).district+ "-- " + resl.get(i).key);
info.setLatitude(resl.get(i).pt.latitude);
info.setLongtitu(resl.get(i).pt.longitude);
locationInfos.add(info);
}
showSearchResultDialog(locationInfos);
}
//擷取線上建議檢索結果
}
};
@Override
protected void onDestroy() {
super.onDestroy();
//在activity執行onDestroy時執行mMapView.onDestroy(),實作地圖生命周期管理
mapView.onDestroy();
mapView = null;
// 關閉定位圖層
baiduMap.setMyLocationEnabled(false);
//關閉模糊搜尋
mSuggestionSearch.destroy();
}