当前位置: 首页>>代码示例>>Java>>正文


Java OfflineRegion类代码示例

本文整理汇总了Java中com.mapbox.mapboxsdk.offline.OfflineRegion的典型用法代码示例。如果您正苦于以下问题:Java OfflineRegion类的具体用法?Java OfflineRegion怎么用?Java OfflineRegion使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


OfflineRegion类属于com.mapbox.mapboxsdk.offline包,在下文中一共展示了OfflineRegion类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createDownload

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
private void createDownload(final OfflineDownload offlineDownload) {
  final OfflineTilePyramidRegionDefinition definition = offlineDownload.getRegionDefinition();
  final byte[] metadata = offlineDownload.getMetadata();
  OfflineManager.getInstance(getApplicationContext())
    .createOfflineRegion(
      definition,
      metadata,
      new OfflineManager.CreateOfflineRegionCallback() {
        @Override
        public void onCreate(OfflineRegion offlineRegion) {
          offlineDownload.setRegionId(offlineRegion.getID());
          OfflineDownloadStateReceiver.dispatchStartBroadcast(getApplicationContext(), offlineDownload);
          regionLongSparseArray.put(offlineDownload.getServiceId(), offlineRegion);

          launchDownload(offlineDownload, offlineRegion);
          showNotification(offlineDownload);
        }

        @Override
        public void onError(String error) {
          OfflineDownloadStateReceiver.dispatchErrorBroadcast(getApplicationContext(), offlineDownload, error);
        }
      });
}
 
开发者ID:mapbox,项目名称:mapbox-plugins-android,代码行数:25,代码来源:OfflineDownloadService.java

示例2: cancelDownload

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
private void cancelDownload(final OfflineDownload offlineDownload) {
  int serviceId = offlineDownload.getServiceId();
  OfflineRegion offlineRegion = regionLongSparseArray.get(serviceId);
  offlineRegion.setDownloadState(OfflineRegion.STATE_INACTIVE);
  offlineRegion.setObserver(null);
  offlineRegion.delete(new OfflineRegion.OfflineRegionDeleteCallback() {
    @Override
    public void onDelete() {
    }

    @Override
    public void onError(String error) {
      OfflineDownloadStateReceiver.dispatchErrorBroadcast(getApplicationContext(), offlineDownload, error);
    }
  });
  OfflineDownloadStateReceiver.dispatchCancelBroadcast(getApplicationContext(), offlineDownload);
  notificationManager.cancel(serviceId);
  stopSelf(serviceId);
}
 
开发者ID:mapbox,项目名称:mapbox-plugins-android,代码行数:20,代码来源:OfflineDownloadService.java

示例3: loadOfflineRegion

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
private void loadOfflineRegion(final long id) {
  OfflineManager.getInstance(this)
    .listOfflineRegions(new OfflineManager.ListOfflineRegionsCallback() {

      @Override
      public void onList(OfflineRegion[] offlineRegions) {
        for (OfflineRegion region : offlineRegions) {
          if (region.getID() == id) {
            offlineRegion = region;
            OfflineTilePyramidRegionDefinition definition =
              (OfflineTilePyramidRegionDefinition) region.getDefinition();
            setupUI(definition);
            return;
          }
        }
      }

      @Override
      public void onError(String error) {
        Timber.e(error);
      }
    });
}
 
开发者ID:mapbox,项目名称:mapbox-plugins-android,代码行数:24,代码来源:OfflineRegionDetailActivity.java

示例4: startDownload

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
private static void startDownload(List<Place> places, Map<OfflineRegion, OfflineRegionStatus> regionStatusMap, @SuppressWarnings("UnusedParameters") int numberOfErrors) {
    for (Place place : places) {
        if (place != null && place.hasLocation()) {
            Map.Entry<OfflineRegion, OfflineRegionStatus> regionStatus = findRegionsStatusEntry(place.getId(), regionStatusMap);
            if (regionStatus == null) {
                offlinePlaceStartDownload(place);
                Timber.i("%s map download started", place.getName());
            } else if (regionStatus.getValue() != null && !regionStatus.getValue().isComplete() && regionStatus.getValue().getDownloadState() == OfflineRegion.STATE_INACTIVE) {
                offlinePlaceResumeDownload(place, regionStatus.getKey());
                Timber.i("%s map download resumed", place.getName());
            } else {
                Timber.i("%s map already offlined", place.getName());
            }
        }
    }
}
 
开发者ID:Turistforeningen,项目名称:SjekkUT,代码行数:17,代码来源:OfflineHelper.java

示例5: setOfflineRegions

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
public void setOfflineRegions(OfflineRegion[] offlineRegions) {
    mRegionAndStatus.clear();
    for (final OfflineRegion region : offlineRegions) {
        mRegionAndStatus.add(Pair.<OfflineRegion, OfflineRegionStatus>create(region, null));
        region.getStatus(new OfflineRegion.OfflineRegionStatusCallback() {
            @Override
            public void onStatus(OfflineRegionStatus status) {
                updateStatus(region, status);
            }

            @Override
            public void onError(String error) {
            }
        });
    }
    notifyDataSetChanged();
}
 
开发者ID:Turistforeningen,项目名称:SjekkUT,代码行数:18,代码来源:OfflineRegionAdapter.java

示例6: getRegionName

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
private String getRegionName(OfflineRegion offlineRegion) {
    // Get the region name from the offline region metadata
    String regionName;

    try {
        byte[] metadata = offlineRegion.getMetadata();
        String json = new String(metadata, JSON_CHARSET);
        JSONObject jsonObject = new JSONObject(json);
        regionName = jsonObject.getString(JSON_FIELD_REGION_NAME);
    } catch (Exception exception) {
        Crashlytics.log("Failed to decode metadata.");
        Crashlytics.logException(exception);
        regionName = String.format(getString(R.string.region_name), offlineRegion.getID());
    }
    return regionName;
}
 
开发者ID:Hitchwiki,项目名称:MyHitchhikingSpots-for-Android,代码行数:17,代码来源:OfflineManagerActivity.java

示例7: startDownloadIfNeeded

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
private void startDownloadIfNeeded(Intent intent, final List<OfflineRegion> presentOfflineRegions) {
    if (intent == null) {
        return;
    }
    final int size = intent.getIntExtra(SIZE_PARAM, -1);
    if (size != -1) {
        int c = 0;
        // There is some regions to download
        for (int i = 0; i < size; i++) {
            ArrayList<String> areasString = intent.getStringArrayListExtra(LIST_PARAM + i);
            LatLngBounds bounds = convertToLatLngBounds(areasString);
            OfflineRegion presentOfflineRegion = containsInOfflineRegion(presentOfflineRegions, bounds);
            if (presentOfflineRegion == null) {
                // The region has never been downloaded
                String regionName = intent.getStringExtra(REGION_NAME_PARAM);
                regionName = regionName == null ? "Region " + (presentOfflineRegions.size() + c)
                        : regionName;
                c++;
                downloadOfflineRegion(bounds, regionName);
            } else {
                //The region is already downloaded, we check if it was completed
                checkIfRegionDownloadIsCompleted(presentOfflineRegion);
            }
        }
    }
}
 
开发者ID:jawg,项目名称:osm-contributor,代码行数:27,代码来源:OfflineRegionDownloadService.java

示例8: refreshOfflineRegions

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
private void refreshOfflineRegions() {
    offlineRegionManager.listOfflineRegions(new OfflineRegionManager.OnOfflineRegionsListedListener() {
        @Override
        public void onOfflineRegionsListed(List<OfflineRegion> offlineRegions) {
            for (final OfflineRegion region : offlineRegions) {
                region.getStatus(new OfflineRegion.OfflineRegionStatusCallback() {
                    @Override
                    public void onStatus(OfflineRegionStatus status) {
                        OfflineRegionItem regionItem = new OfflineRegionItem(region, status);
                        if (!adapter.getOfflineRegionItems().contains(regionItem)) {
                            adapter.addOfflineRegion(regionItem);
                            if (adapter.getItemCount() == 1) {
                                selectOfflineRegion(0);
                            }
                        }
                    }

                    @Override
                    public void onError(String error) {
                        Log.e(TAG, "Refresh Offline Regions error: " + error);
                    }
                });
            }
        }
    });
}
 
开发者ID:jawg,项目名称:osm-contributor,代码行数:27,代码来源:OfflineRegionsActivity.java

示例9: createOfflineRegion

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
public void createOfflineRegion(OfflineRegionDefinition definition,
                                final String regionName,
                                final OnOfflineRegionCreatedListener listener) {
    offlineManager.createOfflineRegion(definition,
            encodeRegionName(regionName),
            new OfflineManager.CreateOfflineRegionCallback() {
        @Override
        public void onCreate(OfflineRegion offlineRegion) {
            listener.onOfflineRegionCreated(offlineRegion, regionName);
        }

        @Override
        public void onError(String error) {
            Log.e(TAG, "Create offline region error: " + error);
        }
    });
}
 
开发者ID:jawg,项目名称:osm-contributor,代码行数:18,代码来源:OfflineRegionManager.java

示例10: launchDownload

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
private void launchDownload(final OfflineDownload offlineDownload, final OfflineRegion offlineRegion) {
  offlineRegion.setObserver(new OfflineRegion.OfflineRegionObserver() {
    @Override
    public void onStatusChanged(OfflineRegionStatus status) {
      if (status.isComplete()) {
        finishDownload(offlineDownload, offlineRegion);
        return;
      }
      progressDownload(offlineDownload, status);
    }

    @Override
    public void onError(OfflineRegionError error) {
      OfflineDownloadStateReceiver.dispatchErrorBroadcast(getApplicationContext(), offlineDownload,
        error.getReason(), error.getMessage());
      stopSelf(offlineDownload.getServiceId());
    }

    @Override
    public void mapboxTileCountLimitExceeded(long limit) {
      OfflineDownloadStateReceiver.dispatchErrorBroadcast(getApplicationContext(), offlineDownload,
        "Mapbox tile count limit exceeded:" + limit);
    }
  });

  // Change the region state
  offlineRegion.setDownloadState(OfflineRegion.STATE_ACTIVE);
}
 
开发者ID:mapbox,项目名称:mapbox-plugins-android,代码行数:29,代码来源:OfflineDownloadService.java

示例11: finishDownload

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
private void finishDownload(OfflineDownload offlineDownload, OfflineRegion offlineRegion) {
  if (notificationBuilder != null) {
    notificationManager.cancel(offlineDownload.getServiceId());
  }
  OfflineDownloadStateReceiver.dispatchSuccessBroadcast(this, offlineDownload);
  offlineRegion.setDownloadState(OfflineRegion.STATE_INACTIVE);
  offlineRegion.setObserver(null);
  regionLongSparseArray.remove(offlineDownload.getServiceId());
  stopSelf(offlineDownload.getServiceId());
}
 
开发者ID:mapbox,项目名称:mapbox-plugins-android,代码行数:11,代码来源:OfflineDownloadService.java

示例12: getActiveDownloadForOfflineRegion

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
/**
 * Get the OfflineDownload for an offline region, returns null if no download is active for region.
 *
 * @param offlineRegion the offline region to get related offline download for
 * @return the active offline download, null if not downloading the region.
 */
@Nullable
public OfflineDownload getActiveDownloadForOfflineRegion(OfflineRegion offlineRegion) {
  OfflineDownload offlineDownload = null;
  if (!offlineDownloads.isEmpty()) {
    for (OfflineDownload download : offlineDownloads) {
      if (download.getRegionId() == offlineRegion.getID()) {
        offlineDownload = download;
      }
    }
  }
  return offlineDownload;
}
 
开发者ID:mapbox,项目名称:mapbox-plugins-android,代码行数:19,代码来源:OfflinePlugin.java

示例13: onItemClick

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
  OfflineRegion region = adapter.getItem(position);
  Intent intent = new Intent(this, OfflineRegionDetailActivity.class);
  intent.putExtra(OfflineRegionDetailActivity.KEY_REGION_ID_BUNDLE, region.getID());
  startActivity(intent);
}
 
开发者ID:mapbox,项目名称:mapbox-plugins-android,代码行数:8,代码来源:OfflineRegionListActivity.java

示例14: loadOfflineRegions

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
private void loadOfflineRegions() {
  OfflineManager.getInstance(this).listOfflineRegions(new OfflineManager.ListOfflineRegionsCallback() {
    @Override
    public void onList(OfflineRegion[] offlineRegions) {
      if (offlineRegions != null) {
        adapter.setOfflineRegions(Arrays.asList(offlineRegions));
      }
    }

    @Override
    public void onError(String error) {
      Toast.makeText(OfflineRegionListActivity.this, "Error loading regions " + error, Toast.LENGTH_LONG).show();
    }
  });
}
 
开发者ID:mapbox,项目名称:mapbox-plugins-android,代码行数:16,代码来源:OfflineRegionListActivity.java

示例15: offlinePlaceStartDownload

import com.mapbox.mapboxsdk.offline.OfflineRegion; //导入依赖的package包/类
private static void offlinePlaceStartDownload(final Place place) {
    final Context context = SjekkUTApplication.getContext();

    // Set up the OfflineManager
    OfflineManager offlineManager = OfflineManager.getInstance(context.getApplicationContext());

    // Create a bounding box for the offline region
    LatLngBounds latLngBounds = Utils.getLatLngBounds(place.getLocation(), MAP_OFFLINE_RADIUS);

    // Define the offline region
    OfflineTilePyramidRegionDefinition definition = new OfflineTilePyramidRegionDefinition(
            context.getString(R.string.mapbox_style),
            latLngBounds,
            MAP_OFFLINE_MINZOOM,
            MAP_OFFLINE_MAXZOOM,
            context.getResources().getDisplayMetrics().density);

    byte[] metaData = GsonSingleton.gson().toJson(new OfflineRegionMetadata(place)).getBytes(Charset.defaultCharset());

    // Create the region asynchronously
    offlineManager.createOfflineRegion(definition, metaData, new OfflineManager.CreateOfflineRegionCallback() {
        @Override
        public void onCreate(OfflineRegion offlineRegion) {
            sOfflineRegionExecutor.schedule(new OfflineRegionTask(place, offlineRegion), OFFLINE_REGIONTASK_DELAY, TimeUnit.SECONDS);
        }

        @Override
        public void onError(String error) {
            Timber.e("Error: %s", error);
        }
    });
}
 
开发者ID:Turistforeningen,项目名称:SjekkUT,代码行数:33,代码来源:OfflineHelper.java


注:本文中的com.mapbox.mapboxsdk.offline.OfflineRegion类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。