J'ai créé ma propre application de carte en utilisant mes propres images. Notre université s'est déplacée vers un nouveau campus et je cartographie 7 étages (intérieurs), avec 5 niveaux de zoom, à partir de cartes dessinées à la main.
Leaflet est capable de travailler avec des tuiles de carte personnalisées! J'ai suivi ce guide (omarriott.com/aux/leaflet-js-non-geographical-imagery), juste que j'ai fait quelques essais et erreurs avec les numéros de niveau de zoom pour m'assurer que la carte s'est affichée (suivre le guide exactement n'a pas travaille pour moi).
Il existe un plugin appelé Leaflet Indoor mais il repose sur geoJson, que je n'avais pas. Tout ce que j'ai, ce sont des coordonnées d'image personnalisées et mon propre Json personnalisé. Quoi qu'il en soit, le dépliant est capable de convertir les coordonnées de l'image en lat lng (et vice versa) avec les méthodes de non-projet et de projet.
Ce que j'ai fait pour créer différents étages, c'était d'utiliser le contrôle des calques à la place. Bien sûr, il faut un certain temps pour comprendre l'API et s'assurer que tout fonctionne comme il se doit. Par exemple, j'ai regroupé mes marqueurs pour chaque étage et codé un moyen de les rendre bien à travers différents niveaux de zoom. Et le chargement d'un étage différent nécessite également un gestionnaire pour charger correctement les marqueurs.
Je sais que Leaflet a une tonne d'exemples basés sur des cartes géographiques et il peut laisser des gens comme nous dans le noir, mais je veux vous assurer qu'il est possible de le faire pour des cartes personnalisées. Vous avez besoin de l'image, la tuile correctement (avec des noms corrects), la chargez sur un CDN comme Amazon, puis utilisez l'API Leaflet.