Android studio 避免在android上重新加载arcgis地图

Android studio 避免在android上重新加载arcgis地图,android-studio,arcgis,arcgis-android-api,Android Studio,Arcgis,Arcgis Android Api,我每隔一段时间就移动一个点,问题是为了使点保持在地图内,并且在移动时不会丢失,我必须重新加载地图。你怎么能避免充电呢,因为移动每两秒发生一次,地图每两秒重新加载一次太不舒服了 代码如下: cont++; final long EXECUTION_TIME = 2000; final Handler handler = new Handler(); handler.postDelayed(new Runnable() {

我每隔一段时间就移动一个点,问题是为了使点保持在地图内,并且在移动时不会丢失,我必须重新加载地图。你怎么能避免充电呢,因为移动每两秒发生一次,地图每两秒重新加载一次太不舒服了

代码如下:

  cont++;
        final long EXECUTION_TIME = 2000;
        final Handler handler = new Handler();

       handler.postDelayed(new Runnable() {
            int aux = 0;               
            @Override
            public void run() {

                        GraphicsOverlay graphicsOverlay1 = new GraphicsOverlay();
                        Graphic g1 = new Graphic(getLatLong(aux), attributes, sms);
                        graphicsOverlay1.getGraphics().add(g1);

                        mMap.getGraphicsOverlays().add(graphicsOverlay1);
                        map = new ArcGISMap(basemapType, getLatLong(aux).getY(), getLatLong(aux).getX(), 17);

                        mMap.setMap(map);  //Here is where the map is reloaded, some other way to avoid this burden


                        handler.postDelayed(this, EXECUTION_TIME);
    }
)};

必须在mMap中使用方法:
SetViewpointCenterAsync
,从而避免在更新地图上的点时加载地图

代码如下所示:

map = new ArcGISMap(basemapType, getLatLong(aux).getY(), getLatLong(aux).getX(), 17);

mMap.setMap(map); 
cont++;
final long EXECUTION_TIME = 2000;
final Handler handler = new Handler();

  handler.postDelayed(new Runnable() {
int aux = 0;               
@Override
public void run() {

            GraphicsOverlay graphicsOverlay1 = new GraphicsOverlay();
            Graphic g1 = new Graphic(getLatLong(aux), attributes, sms);
            graphicsOverlay1.getGraphics().add(g1);

            mMap.getGraphicsOverlays().add(graphicsOverlay1);

            mMap.setViewpointCenterAsync(new Point( getLatLong(aux).getX(), getLatLong(aux).getY(),SpatialReferences.getWgs84()),6000.0) ;
            handler.postDelayed(this, EXECUTION_TIME);   }   )};