本文整理汇总了Java中org.mapsforge.map.layer.cache.InMemoryTileCache类的典型用法代码示例。如果您正苦于以下问题:Java InMemoryTileCache类的具体用法?Java InMemoryTileCache怎么用?Java InMemoryTileCache使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
InMemoryTileCache类属于org.mapsforge.map.layer.cache包,在下文中一共展示了InMemoryTileCache类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: MapsforgeTileSource
import org.mapsforge.map.layer.cache.InMemoryTileCache; //导入依赖的package包/类
/**
* The reason this constructor is protected is because all parameters,
* except file should be determined from the archive file. Therefore a
* factory method is necessary.
*
* @param file
* @param xmlRenderTheme the themeFuture to render tiles with
*/
protected MapsforgeTileSource(Application app,
File file,
XmlRenderTheme xmlRenderTheme,
MultiMapDataStore.DataPolicy dataPolicy) {
AndroidGraphicFactory.createInstance(app);
// model.setFixedTileSize(256);
mapDatabase = new MultiMapDataStore(dataPolicy);
mapDatabase.addMapDataStore(new MapFile(file), false, false);
InMemoryTileCache tileCache = new InMemoryTileCache(5);
renderer = new DatabaseRenderer(mapDatabase, factory, tileCache,
new TileBasedLabelStore(tileCache.getCapacityFirstLevel()), true, true, null);
Log.d(TAG, "min=" + MIN_ZOOM + " max=" + MAX_ZOOM + " tilesize=" + TILE_SIZE_PIXELS);
themeFuture = new RenderThemeFuture(factory, xmlRenderTheme, model);
//super important!! without the following line, all rendering activities will block until the themeFuture is created.
new Thread(themeFuture).start();
}
示例2: createExternalStorageTileCache
import org.mapsforge.map.layer.cache.InMemoryTileCache; //导入依赖的package包/类
static TileCache createExternalStorageTileCache(Context c, String id, int firstLevelSize, int tileSize) {
Log.d(TAG, "createExternalStorageTileCache firstLevelSize=" + firstLevelSize);
TileCache firstLevelTileCache = new InMemoryTileCache(firstLevelSize);
if (storage != null) { // storage will be null if full
String cacheDirectoryName = storage.getAbsolutePath() + File.separator + id;
File cacheDirectory = new File(cacheDirectoryName);
if (cacheDirectory.exists() || cacheDirectory.mkdirs()) {
int tileCacheFiles = estimateSizeOfFileSystemCache(cacheDirectoryName, firstLevelSize, tileSize);
if (cacheDirectory.canWrite() && tileCacheFiles > 0) {
try {
Log.d(TAG, "createExternalStorageTileCache tileCacheFiles=" + tileCacheFiles);
TileCache secondLevelTileCache = new FileSystemTileCache(tileCacheFiles,
cacheDirectory, AndroidGraphicFactory.INSTANCE, true, 25, true);
return new TwoLevelTileCache(firstLevelTileCache, secondLevelTileCache);
} catch (IllegalArgumentException e) {
Log.w(TAG, "createExternalStorageTileCache e=" + e);
}
}
}
else {
Log.w(TAG, "createExternalStorageTileCache can't");
}
}
return firstLevelTileCache;
}
示例3: createExternalStorageTileCache
import org.mapsforge.map.layer.cache.InMemoryTileCache; //导入依赖的package包/类
/**
* @param c
* the Android context
* @param id
* name for the directory
* @return a new cache created on the external storage
*/
@Deprecated
public static TileCache createExternalStorageTileCache(final Context c, final String id) {
final TileCache firstLevelTileCache = new InMemoryTileCache(32);
final String cacheDirectoryName = c.getExternalCacheDir().getAbsolutePath() + File.separator + id;
final File cacheDirectory = new File(cacheDirectoryName);
if (!cacheDirectory.exists()) {
cacheDirectory.mkdir();
}
final TileCache secondLevelTileCache = new FileSystemTileCache(1024, cacheDirectory, AndroidGraphicFactory.INSTANCE);
return new TwoLevelTileCache(firstLevelTileCache, secondLevelTileCache);
}
示例4: createTileCache
import org.mapsforge.map.layer.cache.InMemoryTileCache; //导入依赖的package包/类
private TileCache createTileCache(int index) {
TileCache firstLevelTileCache = new InMemoryTileCache(128);
File cacheDirectory = new File(System.getProperty("java.io.tmpdir"),
"mapsforge" + index);
TileCache secondLevelTileCache = new FileSystemTileCache(1024,
cacheDirectory, GRAPHIC_FACTORY);
return new TwoLevelTileCache(firstLevelTileCache, secondLevelTileCache);
}
示例5: LayerBase
import org.mapsforge.map.layer.cache.InMemoryTileCache; //导入依赖的package包/类
LayerBase(Tabulae activity, MapView mapView, boolean persistant) {
this.mapView = mapView;
if (persistant) {
int size = AndroidUtil.getMinimumCacheSize(activity, mapView.getModel().displayModel.getTileSize(), mapView.getModel().frameBufferModel.getOverdrawFactor(), 1f);
//if (DEBUG) Log.d(TAG, "LayerBase.LayerBase minmal cache size=" + size);
memCache = new InMemoryTileCache(size);
tileCache = new TwoLevelTileCache(
memCache,
new FileSystemTileCache(99999, new File(activity.getTilesDir(), getId()), AndroidGraphicFactory.INSTANCE, true)
);
} else {
tileCache = AndroidUtil.createTileCache(activity, getId(), mapView.getModel().displayModel.getTileSize(),
1f, mapView.getModel().frameBufferModel.getOverdrawFactor());
}
}
示例6: createTileCaches
import org.mapsforge.map.layer.cache.InMemoryTileCache; //导入依赖的package包/类
@Override
protected void createTileCaches() {
// to use a tile store you provide it as a cache (which is pre-filled and never purges any files.
// additionally you should use a memory tile store for faster refresh.
TileStore tileStore = new TileStore(new File(new File("/storage/sdcard1"), "tilestore"), ".png", AndroidGraphicFactory.INSTANCE);
InMemoryTileCache memoryTileCache = new InMemoryTileCache(AndroidUtil.getMinimumCacheSize(this,
this.mapView.getModel().displayModel.getTileSize(),
this.mapView.getModel().frameBufferModel.getOverdrawFactor(), this.getScreenRatio()));
this.tileCaches.add(new TwoLevelTileCache(memoryTileCache, tileStore));
}
示例7: createExternalStorageTileCache
import org.mapsforge.map.layer.cache.InMemoryTileCache; //导入依赖的package包/类
/**
* @param c
* the Android context
* @param id
* name for the directory
* @return a new cache created on the external storage
*/
static TileCache createExternalStorageTileCache(Context c, String id) {
TileCache firstLevelTileCache = new InMemoryTileCache(32);
String cacheDirectoryName = c.getExternalCacheDir().getAbsolutePath() + File.separator + id;
File cacheDirectory = new File(cacheDirectoryName);
if (!cacheDirectory.exists()) {
cacheDirectory.mkdir();
}
TileCache secondLevelTileCache = new FileSystemTileCache(1024, cacheDirectory, AndroidGraphicFactory.INSTANCE);
return new TwoLevelTileCache(firstLevelTileCache, secondLevelTileCache);
}
示例8: createTileCache
import org.mapsforge.map.layer.cache.InMemoryTileCache; //导入依赖的package包/类
/**
* @param c
* the Android context
* @return a new cache
*/
static TileCache createTileCache(Context c, String id) {
TileCache firstLevelTileCache = new InMemoryTileCache(32);
File cacheDirectory = c.getDir(id, Context.MODE_PRIVATE);
TileCache secondLevelTileCache = new FileSystemTileCache(1024, cacheDirectory, AndroidGraphicFactory.INSTANCE);
return new TwoLevelTileCache(firstLevelTileCache, secondLevelTileCache);
}
示例9: createTileCache
import org.mapsforge.map.layer.cache.InMemoryTileCache; //导入依赖的package包/类
private static TileCache createTileCache() {
TileCache firstLevelTileCache = new InMemoryTileCache(64);
java.io.File cacheDirectory = new java.io.File(System.getProperty("java.io.tmpdir"), "mapsforge");
TileCache secondLevelTileCache = new FileSystemTileCache(1024, cacheDirectory, GRAPHIC_FACTORY);
return new TwoLevelTileCache(firstLevelTileCache, secondLevelTileCache);
}
示例10: getTilegenerator
import org.mapsforge.map.layer.cache.InMemoryTileCache; //导入依赖的package包/类
private static OsmTilegenerator getTilegenerator(File[] mapsforgeFiles, Integer tileSize, Float scaleFactor) {
if (tileSize == null || tileSize < 256) {
tileSize = TILESIZE;
}
if (scaleFactor == null)
scaleFactor = 1.5f;
MapWorkerPool.NUMBER_OF_THREADS = 4;
// Map buffer size
ReadBuffer.setMaximumBufferSize(6500000);
// Square frame buffer
FrameBufferController.setUseSquareFrameBuffer(false);
DisplayModel model = new DisplayModel();
model.setUserScaleFactor(scaleFactor);
model.setFixedTileSize(tileSize);
DataPolicy dataPolicy = DataPolicy.RETURN_ALL;
MultiMapDataStore mapDatabase = new MultiMapDataStore(dataPolicy);
for (int i = 0; i < mapsforgeFiles.length; i++)
mapDatabase.addMapDataStore(new MapFile(mapsforgeFiles[i]), false, false);
InMemoryTileCache tileCache = new InMemoryTileCache(200);
DatabaseRenderer renderer = new DatabaseRenderer(mapDatabase, AwtGraphicFactory.INSTANCE, tileCache,
new TileBasedLabelStore(tileCache.getCapacityFirstLevel()), true, true);
InternalRenderTheme xmlRenderTheme = InternalRenderTheme.DEFAULT;
RenderThemeFuture theme = new RenderThemeFuture(AwtGraphicFactory.INSTANCE, xmlRenderTheme, model);
// super important!! without the following line, all rendering
// activities will block until the theme is created.
new Thread(theme).start();
// TODO get back external themes
// DatabaseRenderer dbRenderer = null;
// XmlRenderTheme xmlRenderTheme = null;
// DisplayModel displayModel = null;
// if (mapsforgeFile.exists()) {
// mapDatabase.openFile(mapsforgeFile);
// dbRenderer = new DatabaseRenderer(mapDatabase, graphicFactory);
//
// String mapName =
// FileUtilities.getNameWithoutExtention(mapsforgeFiles[0]);
// File xmlStyleFile = new File(mapsforgeFiles[0].getParentFile(),
// mapName + ".xml");
// if (xmlStyleFile.exists()) {
// try {
// xmlRenderTheme = new ExternalRenderTheme(xmlStyleFile);
// } catch (Exception e) {
// xmlRenderTheme = InternalRenderTheme.OSMARENDER;
// }
// } else {
// xmlRenderTheme = InternalRenderTheme.OSMARENDER;
// }
// displayModel = new DisplayModel();
// displayModel.setUserScaleFactor(tileSize / 256f);
// }
return new OsmTilegenerator(mapDatabase, renderer, theme, model, tileSize);
}