Форум программистов, компьютерный форум CyberForum.ru

Osmdroid Загрузка карты в offline режиме - Xamarin

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Xamarin Как сделать таймер зависящий от реального времени в Android приложении. Xamarin http://www.cyberforum.ru/xamarin/thread1856090.html
Только начал разбираться с разработкой на Android. И появилась нужда сделать таймер на длительное время. Существует куча игр, где есть около 5 жизней, и когда игрок тратит их, нужно подождать пол часа реального времени для восстановления. При чем в этот момент приложение может быть закрыто. А после восстановления придет Push-сообщение о том, что все готово. Мне нужно реализовать подобное, но...
Xamarin Какие есть возможные варианты подключения к FireBird из Xamarin.Android? Имеется компьютер с Windows + FireBird 2.5 + база данных Также имеется Android устройство Господа, подскажите плиз, какие есть способы подключения к базе данных (расположенной на Windows пк) из приложения Xamarin.Android запущенного на Android устройстве? http://www.cyberforum.ru/xamarin/thread1853866.html
Xamarin Xamarin и Firebird. Не получается подключиться
Нужна помощь. Пытаюсь подключиться к FireBird 2.5 (Сервер и БД находятся на Windows ПК). 1. Создал проект xamarin (Android->BlankApp) на VisualStudio 2015 Update 3. 2. С помощью NuGet добавил packeges (NetStandard.Library 1.6, FirebirdSql.Data.FirebirdClient v.5.6) 3. Добавил в проекте ссылку на FirebirdSql.Data.FireBirdClient.dll (из папки lib/netstandard1.6/) Проект нормально...
Communicating with USB modem in Android Xamarin
I can find my usb with this code! But how to send at commands to the modem? Please help!!! int pr_ID, vn_ID; pr_ID = vn_ID = 0; if (manager.DeviceList.Count != 0) { foreach (UsbDevice device1 in manager.DeviceList.Values) { view.Text = "Manufaturer Name= " +...
Xamarin Обнаружены конфликты между различными версиями http://www.cyberforum.ru/xamarin/thread1848200.html
При сборке проекта возникает такое предупреждение. Из-за него, как я понимаю, невозможно собрать apk. Если дважды щелкнуть, как предлагает VS, то выскакивает окно с предложением исправить эти конфликты. Предупреждение из окна вывода исчезает, но при сборке появляется снова. Предупреждение: Обнаружены конфликты между различными версиями одной и той же зависимой сборки. В Visual Studio дважды...
Xamarin Установка Xamarin Добрый день! Уточните пожалуйста по установке. 1. Правильно я понимаю, на сегодня Xamarin Studio уже не доступен для Windows только для mac os? 2. Если устанавливать с VS, то какие компоненты следует дополнительно устанавливать / обновлять (java, пакеты android sdk и т.д.)? Установил VS c отметкой галочки "Cross Platform..." -> проекты создаются наполовину и десятки ошибок при построении... подробнее

Показать сообщение отдельно
Artemprodigy0
0 / 0 / 0
Регистрация: 02.07.2014
Сообщений: 4

Osmdroid Загрузка карты в offline режиме - Xamarin

21.11.2016, 12:47. Просмотров 344. Ответов 0
Метки (Все метки)

Я собрал dll библиотеку с osmbonuspack_v5.5.jar и osmdroid-android-5.0.1.jar. Всё работает отлично кроме загрузки карты в offline режиме. Я скачал карту с помощью Mobile Atlas Creator (OpenStreatMap Public Transport).

C#
1
2
3
4
5
string path = Path.Combine((string)Android.OS.Environment.ExternalStorageDirectory, "osmdroid");
string filename = Path.Combine(path, "tiles.zip");
ITileSource tileSource = new XYTileSource(filename, 5, 16, 256, ".png", new String[] { });
_mapView.SetUseDataConnection(false);
_mapView.SetTileSource(tileSource);
Это не работало.

Пытался использовать следущий код

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
ITileSource tileSource = new XYTileSource("MapquestOSM", 0, 15, 256, ".png", new String[] { });
IRegisterReceiver registerReceiver = new SimpleRegisterReceiver(inflater.Context.ApplicationContext);
string path = Path.Combine((string)Android.OS.Environment.ExternalStorageDirectory, "osmdroid");
string filename = Path.Combine(path, "tiles.zip");
if (System.IO.File.Exists(filename))
{
    Java.IO.File file = new Java.IO.File(filename);
    GEMFFileArchive gemfFileArchive = null;
    try
    {
        gemfFileArchive = GEMFFileArchive.GetGEMFFileArchive(file); // Requires try/catch
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message); //Error "Bad file version: 1347093252"
    }
    MapTileFileArchiveProvider fileArchiveProvider = new MapTileFileArchiveProvider(registerReceiver, tileSource, new IArchiveFile[] { gemfFileArchive });
    MapTileProviderArray tileProviderArray = new MapTileProviderArray(tileSource, registerReceiver, new MapTileModuleProviderBase[] { fileArchiveProvider });
    _mapView = new Osmdroid.Views.MapView(this.Activity, new DefaultResourceProxyImpl(this.Activity), tileProviderArray);
    return _mapView;
}
Я получаю ошиибку

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 {Java.IO.IOException: Bad file version: 1347093252
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in /Users/builder/data/lanes/3415/7db2aac3/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 
  at Java.Interop.JniEnvironment+StaticMethods.CallStaticObjectMethod (JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00082] in /Users/builder/data/lanes/3415/7db2aac3/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:12649 
  at Android.Runtime.JNIEnv.CallStaticObjectMethod (IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue* parms) [0x00000] in /Users/builder/data/lanes/3415/7db2aac3/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:562 
  at Osmdroid.TileProvider.Modules.GEMFFileArchive.GetGEMFFileArchive (Java.IO.File pFile) [0x00047] in E:\WORK\OsmdroidXamarin\OsmdroidAndroidBinding\obj\Debug\generated\src\Osmdroid.TileProvider.Modules.GEMFFileArchive.cs:133 
  at OsmdroidAndroidSample.MapFragment.OnCreateView (Android.Views.LayoutInflater inflater, Android.Views.ViewGroup container, Android.OS.Bundle savedInstanceState) [0x00080] in E:\WORK\OsmdroidXamarin\OsmdroidAndroidSample\MapFragment.cs:65 
  --- End of managed exception stack trace ---
java.io.IOException: Bad file version: 1347093252
    at org.osmdroid.util.GEMFFile.readHeader(GEMFFile.java:461)
    at org.osmdroid.util.GEMFFile.<init>(GEMFFile.java:91)
    at org.osmdroid.util.GEMFFile.<init>(GEMFFile.java:78)
    at org.osmdroid.tileprovider.modules.GEMFFileArchive.<init>(GEMFFileArchive.java:25)
    at org.osmdroid.tileprovider.modules.GEMFFileArchive.getGEMFFileArchive(GEMFFileArchive.java:29)
    at md50eb3e83a03383187939cb2001ecf4374.MapFragment.n_onCreateView(Native Method)
    at md50eb3e83a03383187939cb2001ecf4374.MapFragment.onCreateView(MapFragment.java:35)
    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)
    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
    at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
    at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)
    at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330)
    at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547)
    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
    at android.app.Activity.performStart(Activity.java:5241)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
    at android.app.ActivityThread.access$800(ActivityThread.java:135)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:136)
    at android.app.ActivityThread.main(ActivityThread.java:5017)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:515)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:655)
    at dalvik.system.NativeStart.main(Native Method)
}
Кто нибудь загружал карты в offline режиме используя Xamarin?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru