1、使用:

    RxBusUtil.register(this);//定位成功后走这里@Subscribepublic void onGetLocation(AreaBean bean) {mMapAreaBean = bean;mTvArea.setText(bean.getAddress());String longitude = bean.getLongitude();String latitude = bean.getLatitude();LogUtil.d("longitude:" + longitude + ",latitude:" + latitude);doSearchQuery(bean.getCity(), Double.parseDouble(latitude), Double.parseDouble(longitude));}@Overridepublic void onDestroy() {super.onDestroy();RxBusUtil.unRegister(this);context.stopService(new Intent(context, GetLocationService.class));}

2、申请权限成功,开始定位

   private void initPermissions() {RxPermissions permissions = new RxPermissions(this);permissions.request(Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.ACCESS_FINE_LOCATION,Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS).subscribe(new BaseObserver<Boolean>(context, false) {@Overridepublic void receiveResult(Boolean result) {if (result) {context.startService(new Intent(context, GetLocationService.class));} else {ToastUtil.showShortToast("请授予相应的权限,否则无法使用");}}});}/*** 开始进行poi搜索*/protected void doSearchQuery(String city, double latitude, double longitude) {String mType = "汽车服务|汽车销售|汽车维修|摩托车服务|餐饮服务|购物服务|生活服务|体育休闲服务|医疗保健服务|住宿服务|风景名胜|商务住宅|政府机构及社会团体|科教文化服务|交通设施服务|金融保险服务|公司企业|道路附属设施|地名地址信息|公共设施";// 第一个参数表示搜索字符串,第二个参数表示poi搜索类型,第三个参数表示poi搜索区域(空字符串代表全国)query = new PoiSearch.Query("", mType, city);query.setPageSize(20);// 设置每页最多返回多少条poiitemquery.setPageNum(1);// 设置查第一页PoiSearch poiSearch = new PoiSearch(this, query);poiSearch.setOnPoiSearchListener(this);//以当前定位的经纬度为准搜索周围5000米范围// 设置搜索区域为以lp点为圆心,其周围5000米范围poiSearch.setBound(new PoiSearch.SearchBound(new LatLonPoint(latitude, longitude), 1000, true));//poiSearch.searchPOIAsyn();// 异步搜索}//回调的方法@Overridepublic void onPoiItemSearched(PoiItem arg0, int arg1) {}@Overridepublic void onPoiSearched(PoiResult result, int arg1) {if (arg1 == 1000) {if (result != null && result.getQuery() != null) {// 搜索poi的结果if (result.getQuery().equals(query)) {// 是否是同一条List<PoiItem> poiItems = result.getPois();// 取得第一页的poiitem数据,页数从数字0开始List<PoiBean> tem = new ArrayList();if (poiItems != null && poiItems.size() > 0) {for (int i = 0; i < poiItems.size(); i++) {PoiItem poiItem = poiItems.get(i);   //写一个bean,作为数据存储PoiBean bean = new PoiBean();bean.setTitleName(poiItem.getTitle());bean.setCityName(poiItem.getCityName());bean.setAd(poiItem.getAdName());bean.setSnippet(poiItem.getSnippet());bean.setPoint(poiItem.getLatLonPoint());Log.e("yufs", "" + poiItem.getTitle() + "," + poiItem.getProvinceName() + ","+ poiItem.getCityName() + ","+ poiItem.getAdName() + ","//区+ poiItem.getSnippet() + ","+ poiItem.getLatLonPoint() + "\n");tem.add(bean);}poiData.addAll(tem);
//                        mAdapter.notifyDataSetChanged();  //解析成功更新list布局}}}}}

3、GetLocationService类

public class GetLocationService extends Service {//声明AMapLocationClientOption对象public AMapLocationClientOption mLocationOption = null;private AMapLocationClient mLocationClient;//初始化AMapLocationClientOption对象@Nullable@Overridepublic IBinder onBind(Intent intent) {return null;}@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {initLocation();return START_STICKY;}private void initLocation() {//声明定位回调监听器AMapLocationListener locationListener = aMapLocation -> {mLocationClient.stopLocation();mLocationClient.onDestroy();RxBusUtil.postEvent(new AreaBean(String.valueOf(aMapLocation.getLongitude()), String.valueOf(aMapLocation.getLatitude())).setProvince(aMapLocation.getProvince()).setCity(aMapLocation.getCity()).setArea(aMapLocation.getDistrict()).setAddressDetail(aMapLocation.getStreet()).setCityCode(aMapLocation.getAdCode()));GetLocationService.this.stopSelf();};//声明AMapLocationClient类对象mLocationClient = new AMapLocationClient(getApplicationContext());mLocationClient.setLocationListener(locationListener);mLocationOption = new AMapLocationClientOption();mLocationOption.setOnceLocation(true);//获取一次定位结果mLocationOption.setNeedAddress(true);//设置是否返回地址信息(默认返回地址信息)
//给定位客户端对象设置定位参数mLocationClient.setLocationOption(mLocationOption);
//启动定位mLocationClient.startLocation();}}

Android:高德定位及搜索周边地址相关推荐

  1. Android开发:集成高德地图实现定位、检索周边地址

    需求 1.后台传给我们一个经纬度,然后需要我们在地图上显示出来 2.当我们点击地图的时候进入到第二个界面,实现当前位置的定位,并且检索周边的商家地址,点击后将选中的地址回传,并显示,而我们上传给后台的 ...

  2. android 高德定位

    android 高德定位 今天所分享的是一个简单的高德定位,就是简单的获取当前的位置,可能高德导航要好玩点,但是目前暂未有那方面的需求,所以就只是用到了高德的一个定位.其实高德文档已经写得差不多了,但 ...

  3. Android——高德地图地点搜索框

    效果图 首先 实现效果如图.由于搜索采用的是 高德地图搜索 SDK 所以需要到 高德地图开发者注册账号 获取到 appKey 注册成功进入个人中心 创建对应的应用 build.gradle 创建项目, ...

  4. 工作笔记:Android高德定位使用说明

    高德定位模块使用说明 权限和KEY 在AndroidManifest.xml添加权限,如果仅使用定位功能,其他不需要的权限可去掉. <!-- Normal Permissions 不需要运行时注 ...

  5. android wifi布局,如何实现Android状态栏的Wi-Fi搜索周边的列表和周围Wi-Fi强度图标切换?...

    我想要实现例如Android状态栏以及筛选列表一样:链接之后就显示当前Wi-Fi信号状态图标,扫描之后进行周围链接的信号强度的显示. 第一个问题 实现的结果是都在一行. 在hashmap遍历中,我尝试 ...

  6. android高德定位sdk,android ------ 实现高德定位并获取相应信息 ( 最新版高德SDK 和 Android SDK版本)...

    /*** * 定位*/ private voidshowLocation() {try{ mlocationClient= new AMapLocationClient(this); mLocatio ...

  7. android 高德定位 区域,区域定位-行政区划浏览-示例中心-JS API UI 组件示例 | 高德地图API...

    区域定位 html, body, #container { width: 100%; height: 100%; margin: 0px; } #locTip { position: absolute ...

  8. android开发 百度地图 定位+搜索周边+点击兴趣点+显示旗袍,高德地图API之地图搜索+兴趣点POI+标记点操作...

    使用AMap.Autocomplete() 自动补全插件,实现搜索功能 metacharset="UTF-8"title>map style>*{margin:0;pa ...

  9. Android高德地图的使用,狠详细!手把手!(地图+定位+逆地理编码+输入提示+Poi搜索)

    最近项目用到高德地图,因此来写一篇文章理一下高德的使用步骤方法,希望对大家有用! ##1.注册+配置 废话不多说,要使用高德地图首先要去高德开放平台注册成为开发者(http://lbs.amap.co ...

  10. 高德地图之定位篇-----定位、预测天气、围栏、搜索周边、行踪轨迹

    http://blog.csdn.net/u013210620/article/details/47700629 跟集成百度地图一样,首先获取KEY,获取方式(官方的截图) 这篇主要是讲解高德地图定位 ...

最新文章

  1. 区块链3.0:侧链与跨链行业趋势报告|OK资本
  2. angr学习笔记(2)
  3. Python Importlib模块与__import__详解
  4. 汉字乱码_彻底搞懂这烦人的编码与乱码!
  5. android布局属性
  6. Undefined Reference to Typeinfo
  7. 计算机一级上机考试试题题库,2016年计算机一级上机考试题库
  8. 2020年周记(3/50)
  9. (23)System Verilog旗语解决资源共享需求
  10. iphone电压测试软件,电压电击iPhone结果会怎样? 通过测试后, 照样可以正常开机...
  11. Win2003(R2 SP2)服务器纯净版系统
  12. OneNote使用教程
  13. CreateThread()和_beginthread()有什么不同?
  14. 研究生硕士论文开题报告中的进度和安排该怎么写?
  15. 席位、交易单元、交易网关是什么
  16. 姐妹素数java_Java之姐妹素数
  17. IIS网站——SSL安全加密机制
  18. 六款好用的视频编辑软件推荐
  19. win 7 我的计算机,从“我的电脑”到“此电脑”,Win7/Win10为啥这么改?
  20. 【虚拟试衣论文笔记】C-VTON: Context-Driven Image-Based Virtual Try-On Network

热门文章

  1. 模仿京东登录页面(HTML、CSS、JavaScript / jQuery)
  2. w7系统事件日志服务器,win7系统事件日志服务4201错误的解决方法
  3. linux ftp解压命令 cannot fid or open,CPAN命令操作细节
  4. IDEA如何从断点里获取对象所有数据(数据量很大且不好Ctrl+C)
  5. 光照传感器BH1750实验
  6. java+es+nested_Elasticsearch中的关联查询。Nested类型介绍及查询原理。。
  7. 基于Qt、FFMpeg的音视频播放器设计二(FFMpeg视频处理)
  8. HTML朗读可以用英文吗,关于英语朗读的方法技巧
  9. 思科模拟器-利用VTP管理VLAN
  10. python表示颜色的代码_python 中颜色的表示