Привет,
Мне было интересно, можно ли обслуживать фрагменты карты Leaflet через безопасное соединение https? Я пытаюсь создать карту листовок на веб-странице https (использует SSL) и не могу загрузить плитки листовок через http. Есть ли поддержка загрузки листовок через безопасное соединение?
Спасибо!
В Leaflet нет собственных плиток: какой источник вы используете для плиток?
Например: если вы используете OpenStreetMap:
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
Вы можете изменить это, чтобы использовать HTTPS, добавив s
в строку тайла:
L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
Спасибо за быстрый ответ. Раньше я использовал:
var url = 'http://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg',
attr ='Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest</a> — Map data {attribution.OpenStreetMap}',
service = new L.TileLayer(url, {subdomains:"1234",attribution: attr});
map.addLayer(service);
Я пробовал следующее:
L.tileLayer('https://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
в моем приложении и не смог загрузить тайлы с сервера тайлов osm. Я получил:
GET https://{s}.tile.osm.org/{x}/{y}/{z}.png net::ERR_INSECURE_RESPONSE
ошибка в Хроме. Приложение, в котором я это запускаю, имеет собственный сертификат SSL. Как мне загрузить плитки в собственное HTTPS-приложение?
Спасибо!
Это не забота Листовки. Он просто загружает изображения по URL-адресу. Безопасность и сертификаты — это логика сервера/приложения.
Сегодня их служба поддержки написала мне по электронной почте и сказала: «Да, используйте https с tile.openstreetmap.org — у нас нет сертификата для сокращенного домена». Работает для меня сейчас!
Это все еще работает для вас? Я использую https://tile.openstreetmap.org и получаю предупреждение о небезопасном соединении
У меня также была эта проблема, Саммай:
Изменение с osm
на openstreetmap
в URL-адресе и добавление https://a.tile
помогло мне.
https://a.tile.openstreetmap.org/{z}/{x}/{y}.png
Ошибка, которую я получил раньше, выглядела так:
В конце концов я использовал другого провайдера (mapquest):
$('#MapModal').on('shown.bs.modal', function (e) {
var data = $(e.relatedTarget).data();
var map = L.map('modalMap').setView([data.lat, data.long], 9);
L.tileLayer('https://otile2-s.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: 'Map data © <a href=\"http://openstreetmap.org\">OpenStreetMap</a> contributors, ' +
'<a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">CC-BY-SA</a>, ' +
'Imagery © <a href=\"http://mapquest.com\">Mapquest</a>',
id: 'examples.map-i875mjb7'
}).addTo(map);
});
Слои ESRI работают с https://esri.github.io/esri-leaflet/examples/basemap-with-labels.html.
Я решил это благодаря @F1LT3R
я имел
http://{s}.tile.osm.org/{z}/{x}/{y}.png
и у меня была проблема с SSL, и я изменил ее на
https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png
и готово!
Спасибо
Потрясающий! Рад, что смог помочь.
Во вторник, 10 ноября 2015 г., в 3:51, Айозе Баррера, [email protected]
написал:
Я решил это благодаря @F1LT3R https://github.com/F1LT3R
я имел
http://{s}.tile.osm.org/{z}/{x}/{y}.png http://tile.osm.org/%7Bz%7D/%7Bx%7D/%7By% 7D.png
и у меня была проблема с SSL, и я изменил ее на
https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png http://tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By% 7D.png
и готово!
Спасибо
—
Ответьте на это письмо напрямую или просмотрите его на GitHub
https://github.com/Leaflet/Leaflet/issues/3186#issuecomment-155360520 .
Спасибо за подсказку про https сервер. На самом деле я думал, что OSM вообще не поддерживает HTTPS.
Я переключился на «https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png» вместо «http://{s}.tile.osm.org/{». z}/{x}/{y}.png'. Но https очень медленный по сравнению с незащищенным. Плитки загружаются намного быстрее в незащищенном.
Есть ли у кого-нибудь еще такая же проблема?
Привет @pango89 , приятно слышать, что листовка оказалась полезной!
Однако этот трекер ошибок используется для сообщения об ошибках и обсуждения новых функций самой библиотеки Leaflet.
Если у вас есть вопросы по использованию Leaflet, используйте Stack Overflow или GIS Stack Exchange .
Другие места также могут быть подходящими, особенно учитывая тот факт, что ваша проблема связана с конкретным сервером плиток (который полностью не связан с Leaflet).
Если вы _действительно_ уверены, что это ошибка в Leaflet, откройте новую тему, а не комментируйте старую и закрытую ветку.
Привет @ghybs ,
Спасибо вам большое за ваш ответ.
Извините за сообщение не в том месте.
Я размещу свой запрос на GIS Stack Exchange.
Спасибо 👍
Вместо этого я использовал этот URL,
на случай, если кто-то еще захочет:
L.tileLayer('//{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
В основном 'http://{s}.tile.osm.org/{z}/{x}/{y}.png'
до '//{s}.tile.osm.org/{z}/{x}/{y}.png'
Я попробовал все решения здесь, относящиеся к коду L.tileLayer, но что это сделало для меня: в индексном файле моего сайта leaflet.css и leaflet.js вызывались с http-сайта - изменение их на https сломалось даже мой http-сайт и не исправил мой https-сайт. Поэтому я скопировал код для файлов css и js и сохранил их как leaflet.js и leaflet.css на своем собственном сервере, и поэтому ссылка на них на моей индексной странице является локальной, и теперь все работает правильно.
Самый полезный комментарий
Я решил это благодаря @F1LT3R
я имел
и у меня была проблема с SSL, и я изменил ее на
и готово!
Спасибо