ppamorim

Untitled

Sep 9th, 2014
285
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.74 KB | None | 0 0
  1. private Runnable batchAddMarkersRunnable = new Runnable() {
  2.         private static final int ADD_IN_BATCH = 1;
  3.         private static final int DELAY = 100;
  4.         private LatLng previousCameraPosition;
  5.         @Override
  6.         public void run() {
  7.  
  8.             if (mCount == 0) {
  9.                 return;
  10.             }
  11.  
  12.             sortPositionsIfNeeded();
  13.  
  14.             for (int i = 0; i < ADD_IN_BATCH && mCount > 0; i++) {
  15.                 mCount--;
  16.                 MapViewHolder item = arrayCameras[mCount];
  17.                 arrayCameras[mCount] = null;
  18.                 if(item != null) {
  19.                     if(!isMarkerOnArray(mMap.getMarkers(), item.camera)) {
  20.                         mMap.addMarker(getMarkerForItem(item.camera));
  21.                     }
  22.                 }
  23.             }
  24.  
  25.             handler.postDelayed(this, DELAY);
  26.         }
  27.  
  28.         private void sortPositionsIfNeeded() {
  29.             final LatLng cameraPosition = mMap.getCameraPosition().target;
  30.             if (previousCameraPosition == null || LatLngUtils.distanceSquared(previousCameraPosition, cameraPosition) > 400.0) {
  31.                 previousCameraPosition = cameraPosition;
  32.                 for (int i = 0; i < mCount; i++) {
  33.                     MapViewHolder p = arrayCameras[i];
  34.                     p.distance = LatLngUtils.distanceSquared(cameraPosition, new LatLng(p.camera.getLatitude(), p.camera.getLongitude()));
  35.                 }
  36.                 Arrays.sort(arrayCameras, 0, mCount, new Comparator<MapViewHolder>() {
  37.                     public int compare(MapViewHolder lhs, MapViewHolder rhs) {
  38.                         return Double.compare(rhs.distance, lhs.distance);
  39.                     }
  40.                 });
  41.             }
  42.         }
  43.  
  44.     };
Advertisement
Add Comment
Please, Sign In to add comment