高德地图拖动地图改变当前地图中心的经纬度进行周边搜索

最近公司的项目修改用户的地址用到了高德地图的周边搜索和滑动地图获取滑动轨迹上的经纬度的功能。

首先说下周边搜索,其实周边搜索和关键字搜索的用法是差不多的,只是多了一步而已。

1. 利用高德地位功能获取一个经纬度和城市。

2. 

private PoiSearch mPoiSearch;

private PoiSearch.Query mQuery;

private PoiRecult mPoiResult;

private List<PoiItem> mPoiItenList=new ArrayList<>();

private String mCity; 

Context mContext;

AMap mAMap;

MapView mMapView;

private void initSearch(doule mLat,double mLng){

mQuery=new PoiSearch.Query(" "," ",mCity);//第一个参数是关键字,周边搜索不用写,第二个参数是搜索的类型,可以选择官网提供的类型,

//也可以不填,默认餐饮服务,商务住宅,生活服务3类,第三个参数是城市或者城市区号


mQuery.setPageSize(30);//每页返回30条信息

mQuery.setPageNum(0);//查看第一页

mPoiSearch=new  PoiSearch(mContext,mQuery);

mPoiSearch.setOnPoiSearchListener(this);

mPoiSearch.setBound(new PoiSearch.SearchBound(new LatLngPoint(mLat,mLng),1000,true));

mPoiSearch.searchPOIAsyn();

//周边搜索重写的两个方法

public void onPoiSearched(PoiReSult result,int rCode){

if(rCode==1000){

mPoiRecult=result;

mPoiItemList=mPoiResult.getPois();

Log.i("info","========mPoiItemList====="+mPoiItemList.toString);

}

}


public void onPoiItemSearched(PoiItem poiItem,int rCode){

}

写完了周边搜索,我们开始写高德地图滑动过程中地图中心经纬度的移动情况,需要实现这个功能,只需要执行一个监听方法就OK了。

初始化地图之后设置onCaneraChangeListener();方法就可以了;

private void initMap(){

if(mAMap==null){

mAMap=mMapView,getMap();

}

mAMap.setOnCameraChangeListener(this);//设置监听方法

}


public void onCameraChange(CameraPosition position){

LatLng changeTarget=position.gettarget;

Log.i("info","====滑动过程中经过的所有经纬度==="+changeTarget.toString);

}


public void onCameraChangeFinish(CameraPosition position){

LatLng finishTarget=position.gettarget;

Log.i("info","====滑动结束时地图中心点的经纬度==="+finishTarget.toString);

initSearch(finishTarget.latitude,finishTarget.longitude);

}

好了这样就实现了滑动地图改变地图中心的经纬度再进行周边搜素的功能。

需要效果图的可以去看看美团外卖设置新增收货地址的页面。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值