Для специального использования я использовал листовку библиотеки , чтобы показать карту. Теперь, когда я хочу добавить модуль печати (я использовал browserPrint), карта выглядит как шахматная доска, поэтому она не является гладкой и недостаточно интегрированной для печати, а также не могут быть показаны необходимые детали (уровень масштабирования, который я установил). это пример моего взгляда:
Проблема в том, что значение printLayer в моем коде не может быть найдено! однако я использовал оригинальные примеры на сайте. это мой код:
var customActionToPrint = function (context, mode) {
return function () {
window.alert("We are printing the MAP. Let's do Custom print here!");
context._printCustom(mode);
}
}
L.control.browserPrint({
printLayer: L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
subdomains: 'abcd',
minZoom: 1,
maxZoom: 16,
ext: 'png'
}),
closePopupsOnPrint: false,
printModes: [
L.control.browserPrint.mode.landscape("Tabloid VIEW", "Tabloid"),
L.control.browserPrint.mode("Alert", "User specified print action", "A3", customActionToPrint, false),
L.control.browserPrint.mode.landscape(),
"Portrait",
L.control.browserPrint.mode.auto("Auto", "A3"),
L.control.browserPrint.mode.custom("Select the area", "A3")
]
}).addTo(map);
на основе ошибок моей консоли, я понял, что код генерирует некоторые ссылки, такие как: https://d.tile.openstreetmap.org/11/1362/801.png, который не работает (в зависимости от значения printlayer) , Какова правильная форма этого атрибута? Можете ли вы помочь мне решить проблему?