Если вы не можете загрузить файл локально, вам потребуется использовать решения с открытым исходным кодом, такие как mapserver (mapserver.org) или геосервер.
У меня есть опыт работы с обоими, но я предпочитаю использовать mapserver.
Вы можете загрузить графическое изображение туда и сделать его на сервере, а затем использовать его на устройстве.
Хорошая часть этого решения заключается в том, что вам не нужно отправлять всеграфический файл для пользователя.Вы также можете разрешить пользователю кэшировать ваши «плитки» (небольшие фрагменты размером 256x256 пикселей, представляющие часть файла большого изображения), чтобы им не нужно было извлекать интересующий их контент снова и снова.
Загрузка изображения локально не очень хорошая идея, если данные карты слишком велики.Вы должны разделить его, используя maptiler (как упомянуто в моем предыдущем ответе), а затем сохранить плитки (возможно, в zip-файле) и использовать клиент, такой как osmdroid, для навигации по нему.