سلام. می خوام تویه بخشی از برنامم، نقشه افلاین اضافه کنم که موقعیت کاربر رو توسط GPS نشون بده. ممنون میشم اگه راهنمایی کنید.
سلام. می خوام تویه بخشی از برنامم، نقشه افلاین اضافه کنم که موقعیت کاربر رو توسط GPS نشون بده. ممنون میشم اگه راهنمایی کنید.
سلام ، وقتتون بخیر
شما هیچ اطلاع از پلتفرمی که قراره براش برنامه بسازید ندادین.
لطفا سوال خودتون رو با جزئیات بیشتری مطرح کنید.
بروزرسانی:
برای این کار شما باید نقشه مد نظرتون رو دانلود کنید و داخل پوشه assets قرار بدین
برای استفاده از نقشه ذخیره شده تون میتونید از تکیه کد زیر استفاده کنید :
public class CustomMapTileProvider implements TileProvider {
private static final int TILE_WIDTH = 256;
private static final int TILE_HEIGHT = 256;
private static final int BUFFER_SIZE = 16 * 1024;
private AssetManager mAssets;
public CustomMapTileProvider(AssetManager assets) {
mAssets = assets;
}
@Override
public Tile getTile(int x, int y, int zoom) {
byte[] image = readTileImage(x, y, zoom);
return image == null ? null : new Tile(TILE_WIDTH, TILE_HEIGHT, image);
}
private byte[] readTileImage(int x, int y, int zoom) {
InputStream in = null;
ByteArrayOutputStream buffer = null;
try {
in = mAssets.open(getTileFilename(x, y, zoom));
buffer = new ByteArrayOutputStream();
int nRead;
byte[] data = new byte[BUFFER_SIZE];
while ((nRead = in.read(data, 0, BUFFER_SIZE)) != -1) {
buffer.write(data, 0, nRead);
}
buffer.flush();
return buffer.toByteArray();
} catch (IOException e) {
e.printStackTrace();
return null;
} catch (OutOfMemoryError e) {
e.printStackTrace();
return null;
} finally {
if (in != null) try { in.close(); } catch (Exception ignored) {}
if (buffer != null) try { buffer.close(); } catch (Exception ignored) {}
}
}
private String getTileFilename(int x, int y, int zoom) {
return "map/" + zoom + '/' + x + '/' + y + ".png";
}
}
و یا میتونی از کتابخانه هایی نظیر این استفاده کنید :
https://github.com/cocoahero/android-gmaps-addons
پاسخ ها