Я делал свое собственное приложение для карт, используя свои собственные карты изображений. Наш университет переехал в новый кампус, и я планирую 7 этажей (в помещении), с 5 уровнями увеличения, из нарисованных от руки карт.
Leaflet умеет работать с пользовательскими плитками карты! Я следовал этому руководству (omarriott.com/aux/leaflet-js-non-geographic-imagery), просто сделал несколько проб и ошибок с числами уровней масштабирования, чтобы убедиться, что карта появилась (следуя руководству точно не работа для меня).
Есть плагин Leaflet Indoor, но он использует geoJson, которого у меня не было. Все, что у меня есть, это пользовательские координаты изображения и мой собственный Json. В любом случае листовка может преобразовывать координаты изображения в широту (и наоборот) с помощью методов unproject и project.
То, что я сделал, чтобы создать разные этажи, было использовать вместо этого контроль слоя. Конечно, требуется время, чтобы понять API и убедиться, что все работает как надо. Например, я сгруппировал свои маркеры для каждого этажа и закодировал способ их визуального отображения на разных уровнях масштабирования. А при загрузке другого этажа также требуется обработчик для правильной загрузки маркеров.
Я знаю, что у Leaflet есть масса примеров, основанных на географических картах, и он может оставить людей, подобных нам, в неведении, но я хочу заверить вас, что это возможно сделать для пользовательских карт. Вам нужно изображение, правильно расположите его (с правильными именами), загрузите его в CDN, например Amazon, и затем используйте Leaflet API.