Comment puis-je mettre en œuvre des cartes en mode hors connexion à l'aide de osmdroid en enregistrant des carreaux de la carte des images dans la base de données sqlite?
J'ai un projet qui a une obligation d'affichage de la carte de données en mode hors connexion. J'ai utilisé Openstreetmap des cartes pour la même chose. J'ai enregistré l'image d'une carte(tuiles) et chaque tuile est référencé par un tilekey dans la base de données. Je veux accéder à ces carreaux de la carte de base de données et de les utiliser en conséquence.
Veuillez me suggérer.
Merci d'avance.
pouvez-vous préciser de quelle manière avez-vous enregistrer ces carreaux de la carte
Vous pouvez utiliser mobac.sourceforge.net pour télécharger les fichiers de carte à votre application android et utiliser la bibliothèque comme osmandroid ou mapsforge de faire usage de la carte que vous avez téléchargé
et puis.. quel format que vous utilisez dans mobac pour la création de la carte? @AyushVerma
Vous pouvez utiliser mobac.sourceforge.net pour télécharger les fichiers de carte à votre application android et utiliser la bibliothèque comme osmandroid ou mapsforge de faire usage de la carte que vous avez téléchargé
et puis.. quel format que vous utilisez dans mobac pour la création de la carte? @AyushVerma
OriginalL'auteur Ayush Verma | 2011-11-15
Vous devez vous connecter pour publier un commentaire.
Les tuiles de carte de Osmdroid sont fournis par la dalle de la carte des fournisseurs. La vignette par défaut du fournisseur utilisé par Osmdroid est MapTileProviderBasic. Ce fournisseur s'étend MapTileProviderArray, ce qui signifie qu'il est un tableau de quelques autres fournisseurs de pavés - quand une tuile est demandé à ces fournisseurs de tuiles sont posées une par une pour une vignette de l'image jusqu'à ce que l'un d'eux fournit. Regardez le constructeur de
MapTileProviderBasic
:Il y a trois mosaïques fournisseurs ajouté à la table des fournisseurs, dans cet ordre:
MapTileFilesystemProvider
- fournit des tuiles à partir du système de fichiers de la carte SD répertoire)MapTileFileArchiveProvider
- fournit des tuiles à partir de l'archive dans le système de fichiersMapTileDownloader
- fournit des tuiles en les téléchargeant à partir d'Internet (par exemple à partir de serveurs OSM)De sorte que le
MapTileProviderBasic
cherche un carreau d'abord dans le système de fichiers, si la vignette n'est pas disponible, alors il cherche dans les fichiers d'archive et encore si elle n'est pas disponible, il télécharge la tuile de l'Internet.Ok, c'est le mécanisme par défaut. Si vous souhaitez modifier ce mécanisme de regarder pour les pièces stockées dans une base de données, alors vous pouvez créer votre propre catégorie similaire à
MapTileProviderBasic
. Si votre classe pourrait également s'étendreMapTileProviderArray
et il suffit d'utiliser les autres fournisseurs dans le constructeur. Dans Osmdroid il existe une classe DatabaseFileArchive qui pourrait probablement vous aider dans la lecture de tuiles à partir de la DB.Après la création de votre propre mosaïque fournisseur, vous devez utiliser à la place de celui par défaut. La dalle de la carte les fournisseurs sont attachés à la
MapView
. Certains constructeurs deMapView
prendreMapTileProviderBase
comme un argument - vous pouvez utiliser l'un d'eux de joindre votre propre fournisseur.pouvez vous s'il vous plaît mettre à jour les liens dans votre réponse comme ils ne travaillent pas...
Ok, les liens mis à jour (osmdroid changé leur structure de référentiel).
merci!!!!
Quelles sont les osmdroid pris en charge formats de carte?
OriginalL'auteur Piotr
La façon la plus simple pour obtenir des cartes en mode hors connexion pour travailler avec le fournisseur par défaut
MapTileProviderBasic
est de mettre votre carte arhive ne(s) dansOSMDROID_PATH
.En d'autres termes, télécharger votre
.zip, .sqlite, .mbtiles
ou.gemf
fichier dans leosmdroid/
répertoire.Si vous regardez
MapTileFileArchiveProvider
vous voyez qu'il appellegetArchiveFiles()
dansArchiveFileFactory
qui choisit le droit d'archives fournisseur basé sur les extensions de fichier.assurez-vous que vous avez placé la carte dans une zone en mode hors connexion carte couvre, et aussi que les niveaux de zoom sont à l'intérieur de ce que votre carte couvre en mode hors connexion
Je veux Vecteur de chargement de Tuiles Obtenus à partir de OpenMapTiles.org en raison de la Taille de la Carte. Est-il un autre moyen. Merci de M'Aider. Je suis totalement perdu.
Si votre budget le permet, il vient d'obtenir l'exemple de ici openmaptiles.org/docs/mobile/mobile - Vous vraiment envie de passer à MapBox de OSMDroid de toute façon
Est-il opensource
OriginalL'auteur Espen Riskedal