高德地图的缩放和位移监听

最近项目采用高德地图,高德地图的文档,demo都很详细,想实现的功能基本上都有。在项目里有一个功能,是类似根据地图的中心经纬度实现数据请求。为了不无限的请求,所以要分别监听,地图的缩放,地图位移,这里就有一个方法;

gadMap.setOnCameraChangeListener(new AMap.OnCameraChangeListener() )

这个方法是高德地图监听地图状态改变的方法,完整的方法如下:

gadMap.setOnCameraChangeListener(new AMap.OnCameraChangeListener() {
    @Override
    public void onCameraChange(CameraPosition cameraPosition) {

    }

    @Override
    public void onCameraChangeFinish(CameraPosition cameraPosition) {
        
});
这两个方法里面,可以实现对地图缩放和移动的监听,主要的方法是:cameraPosition.zoom(缩放),cameraPosition.target(经纬度);

例如我的需求是要实现地图位移的时候,请求数据,但是地图缩放的时候不请求数据;我的地图的缩放级别是16f,那么我先定义一个 float getZoomB = 16f;

然后在地图状态改变完成的地方做判断;

if (getZoomB != cameraPosition.zoom ){
    getZoomB = cameraPosition.zoom;
    Toast.makeText(getApplicationContext(),"缩放了,不作为",Toast.LENGTH_SHORT).show();
}else {

这样,就可以实现,地图缩放的时候不作为,而在位移的时候却可以做你想做的请求,同样,监听位移事件也可以这样实现,例如,在两点之间相距多远的时候,才开始请求数据,同样可以用这样的方法来判断实现。






你可能感兴趣的:(学习记录,高德地图,移动,需求)