У меня есть веб-страница со встроенной картой Leaflet. Мне удалось создать раскрывающийся список для пользователя, чтобы выбрать различные типы карт на Maptiler.com. Это работало нормально, когда адрес maptile передавался в качестве контекста из представления, которое затем было указано в моем шаблоне следующим образом: -
L.tileLayer('{{ context.maptileaddress }}', {attribution: '<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>',}).addTo(map);
Затем я решил, что мог бы использовать других провайдеров maptile, таких как Stamen и это потребовало бы, чтобы я передал весь аргумент tilelayer следующим образом: -
L.tileLayer('{{ context.maptilefullkey }}).addTo(map);
, где действительный 'maptilefullkey' равен: -
'https://stamen-tiles-{s}.a.ssl.fastly.net/toner/{z}/{x}/{y}.{ext}', {
attribution: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> — Map data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
subdomains: 'abcd',
minZoom: 1,
maxZoom: 18,
ext: 'png'
}
Когда я встраиваю этот текст буквально в tileLayer метод, maptile отображает просто отлично - см. мой отпечаток.
Maptile работает нормально, когда он жестко закодирован в метод tileLayer ()
Вы также можете видеть, что Я успешно передал {{ context.maptilefullkey }}
в шаблон, и он успешно напечатан внизу веб-страницы. По-видимому, он точно соответствует действительному ключу.
Но когда я передаю его как переменную L.tileLayer({{ context.maptilefullkey }}).addTo(map);
, maptile полностью исчезает.
Почему это произошло и как я могу это исправить?
Является ли тот факт, что строка заканчивается фигурной скобкой, а затем предшествует двойной фигурной скобке, которая закрывает контекст, создавая проблему? Или это атрибуция, которая вызывает проблему?
Помощь от этого сообщества высоко ценится!
Phil # anoobinneed