arcgis for android 调用公网天地图注记重影问题

      最近在android项目开发中,使用arcgis for android 地图api调用公网的天地图。有一个问题,天地图的注记层,在地图缩放的时候刷新滞后,导致注记层有重影,用户体验差。

      解决思路:地图缩放的时候,先移除注记层,然后再重新添加

      首先,绑定地图缩放事件

        mMapView.setOnZoomListener(new OnZoomListener() {          

            @Override
            public void preAction(float v, float v1, double v2) {
                dorefresh();
            }
            @Override
            public void postAction(float v, float v1, double v2) {                
             dorefresh();                
          }
        });

      其次, 刷新操作

      刷新规则:缩放前后地图比例尺差值超过200,时间超过500毫秒,lastscale.lasttime用于记录上次的比例尺和时间

    public void dorefresh() {
        double mapScale = mMapView.getScale();
        Date now = new Date(System.currentTimeMillis());
        if (lasttime == null || lastscale == 0 
        || (Math.abs(lastscale - mapScale) > 200 && (now.getTime() - lasttime.getTime()) > 500)) {

            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    refreshLabelLayer();
                }
            }, 0);
        }
        lastscale = mapScale;
        lasttime = new Date();
        
    }

     最后,注记层刷新操作

    public void refreshLabelLayer() {
        mMapView.removeLayer(annolayer);
        mMapView.addLayer(annolayer);
    }

猜你喜欢

转载自blog.csdn.net/gis_zhouda/article/details/79627782