Html5 показывает плитки оффлайн mapsforge openstreepmap

Как я могу показать автономную карту openstreetmapsforge в HTML5?

Файлы mapsforge представляют собой файлы *.map. Есть ли библиотека javascript для доступа к плиткам mapsforge?


person tm1701    schedule 03.10.2015    source источник


Ответы (2)


Mapsforge поддерживает только Java (на ПК и Android).

И неофициально для iOs написано medvedNick.

Я никогда не видел реализацию javascript... Я думаю, до сих пор для большинства людей классические плитки osm достаточны для html.

person fupduck    schedule 13.10.2016
comment
Спасибо. Под «классическими файлами osm» вы имеете в виду онлайн-вариант? - person tm1701; 14.10.2016
comment
Я имею в виду плитки, а не файлы - предварительно обработанные изображения, используемые листовкой - leafletjs.com и т. д. - person fupduck; 17.10.2016

Если это еще актуально:

При условии, что у вас есть работающая реализация вашей автономной карты mapsforge (на устройстве Android или на рабочем столе), вы можете заставить эту реализацию возвращать нужные фрагменты карты в папку «mapcache», например, добавив следующую строку кода к вашему Mapview.

TileCache tileCache = AndroidUtil.createTileCache(activity, "mapcache", mapView.getModel().displayModel.getTileSize(), this.getScreenRatio(), mapView.getModel().frameBufferModel.getOverdrawFactor());

Затем вы можете использовать эти фрагменты карты в Leaflet или OpenLayers.

См. также https://stackoverflow.com/a/33452744/3356270.

person kalabalik    schedule 23.11.2016
comment
Спасибо. Вы делаете так, чтобы ваше приложение загружало тайлы из файла *.map и помещало их в кэш карты? Этот мапкэш может быть прочитан Leaflet или OpenLayers? - person tm1701; 23.11.2016
comment
В моем приложении Mapsforge (которое включено в виде библиотеки) использует файл .map и модифицированный файл стиля osmarender.xml для рендеринга карты. Если вы добавите приведенный выше код в свое приложение для Android и просмотрите все нужные вам плитки (на каждом необходимом уровне масштабирования) вручную, Mapsforge рассчитает каждую плитку только один раз на основе данных, а затем сохранит ее в папку кэша карт на вашем мобильном устройстве. . Получить его оттуда через USB, например. Поскольку здесь задействована ручная работа, я думаю, что эта процедура имеет смысл только в том случае, если область вашей карты относительно мала и охватывает относительно небольшое количество уровней масштабирования. - person kalabalik; 24.11.2016
comment
Хорошо, дает представление. Переосмыслю свое решение. - person tm1701; 24.11.2016