Задача по созданию веб-карты для онлайн-игры - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь создать веб-карту для моей игры на основе OpenSimulator.

Все изображения присутствуют в одной позиции (например: https://example.com/map-1-1000-1000-objects.jpg).

Теперь я пытаюсь отобразить эти изображения на моей карте мира. Я могу реализовать листовки без проблем. Я думаю, что моя проблема - преобразование latlng, потому что координаты моего мира без десятичных (как в примере выше).

1000x1000 означает X x Y. Первый тип после «/ map-» - это увеличение (по умолчанию только 1). Таким образом, весь URL-адрес: /map-(Z)-(X)-(Y)-objects.jpg.

Как я могу отобразить эти плитки с листовкой?

Спасибо за вашу помощь.

Ответы [ 2 ]

1 голос
/ 11 июня 2019

Проблема в том, что ваша схема именования плиток напрямую включает ваши "координаты";поэтому они не следуют соглашению о присвоении имен четырехугольному дереву, которое предполагает листовой слой листов Leaflet по умолчанию.

Вы можете легко адаптировать листовой слой листов листов в соответствии с вашими потребностями, переопределив метод [getTileUrl] (https://github.com/Leaflet/Leaflet/blob/v1.5.1/src/layer/tile/TileLayer.js#L163-L186]).

В консоли разработчика вы увидите URL запросов, которые выполняет Leaflet, поэтому вам будет проще настроить реализацию getTileUrl.

0 голосов
/ 11 июня 2019

Если ваши плитки доступны, как вы описали, тогда вы можете реализовать слой листов в Leaflet следующим образом:

L.tileLayer('https://example.com/map-{Z}-{X}-{Y}-objects.jpg');

Могут потребоваться другие варианты, но это должно помочь вам начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...