Android高德地图之poi搜索功能的实现代码

Android高德地图之poi搜索功能的实现代码

2023年7月15日发(作者:)

Android⾼德地图之poi搜索功能的实现代码废话不多说,先看效果,如果⼤家感觉不错,请参考实现代码这个功能我是⽤Fragmentdialog⾥⾯做的,也遇到不少坑第⼀,就是设置背景的drawable为纯⽩⾊导致键盘弹出的时候,recyclerview的布局被顶上去导致出现⽩⾊布局,有点扎眼;最后改成了设置为和背景⾊⼀个颜⾊就和好了 Window window = getDialog().getWindow(); Params lp = ributes(); y = ; kgroundDrawable(new ColorDrawable(or(getActivity(), _gray_f2))); ributes(lp);布局 第⼆个问题是键盘弹出的时候,会出现dialog布局整体被顶上去

最后通过设置 style来解决 @Override public void onCreate(Bundle savedInstanceState) { te(savedInstanceState); //解决dialogfragment布局不被顶上去的⽅法 setStyle(_NORMAL, _Black_NoTitleBar); }最后就是实现搜索功能了第⼀个点击搜索时,键盘和搜索按钮两个都是同样的效果/** * 搜索功能 */ private void searchLocationPoi() { //关闭键盘 eybord(poiSearchInMaps, xt); if (y(t().toString().trim())) { astCenter("内容为空!"); } else { query = new (t().toString().trim(), "", "");// 第⼀个参数表⽰搜索字符串,第⼆个参数表⽰poi搜索类型,第三个参数表⽰poi搜索区域(空字符串代表全国) eSize(20);// 设置每页最多返回多少条poiitem eNum(0);// 设置查第⼀页 poiSearch = new PoiSearch(getActivity(), query); oiSearchListener(this); POIAsyn(); } }然后回调中进⾏处理@Override public void onPoiSearched(PoiResult poiResult, int errcode) { Logger.e(s().toString() + "" + errcode); if (errcode == 1000) { datas = new ArrayList<>(); ArrayList pois = s(); for (int i = 0; i < (); i++) { LocationBean locationBean = new LocationBean(); = (i).getTitle(); t = (i).getSnippet(); (locationBean); } Data(datas); } } 还有就是监听EditText⾥⾯内容的变化来搜索,其实也很简单 tChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { } @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { textChangeSearch(charSequence); } @Override public void afterTextChanged(Editable editable) { } }); /** * 监听edittext内容的变化,去搜索 */ private void textChangeSearch(CharSequence charSequence) { String content = ng().trim();//获取⾃动提⽰输⼊框的内容 Logger.e(content); InputtipsQuery inputtipsQuery = new InputtipsQuery(content, "");//初始化⼀个输⼊提⽰搜索对象,并传⼊参数 Inputtips inputtips = new Inputtips(getActivity(), inputtipsQuery);//定义⼀个输⼊提⽰对象,传⼊当前上下⽂和搜索对象 uttipsListener(new ipsListener() { @Override public void onGetInputtips(List list, int errcode) { Logger.e(ng() + errcode); if (errcode == 1000 && list != null) { datas = new ArrayList<>(); for (int i = 0; i < (); i++) { LocationBean locationBean = new LocationBean(); Tip tip = (i); de = nt().getLatitude(); ude = nt().getLongitude(); t = e(); = trict(); (locationBean); } Data(datas); } } });//设置输⼊提⽰查询的监听,实现输⼊提⽰的监听⽅法onGetInputtips() tInputtipsAsyn();//输⼊查询提⽰的异步接⼝实现 }ok,搞定,最后只需要搞个回调,把Search后点击的item传回去就好了.希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1689429845a246880.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信