Leaflet: Потоковая передача листовок через HTTPS/SSL

Созданный на 30 янв. 2015  ·  16Комментарии  ·  Источник: Leaflet/Leaflet

Привет,

Мне было интересно, можно ли обслуживать фрагменты карты Leaflet через безопасное соединение https? Я пытаюсь создать карту листовок на веб-странице https (использует SSL) и не могу загрузить плитки листовок через http. Есть ли поддержка загрузки листовок через безопасное соединение?

Спасибо!

Самый полезный комментарий

Я решил это благодаря @F1LT3R

я имел

http://{s}.tile.osm.org/{z}/{x}/{y}.png

и у меня была проблема с SSL, и я изменил ее на

https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png

и готово!

Спасибо

Все 16 Комментарий

В Leaflet нет собственных плиток: какой источник вы используете для плиток?

Например: если вы используете OpenStreetMap:

L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
    attribution: '&copy; <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: '&copy; <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> &mdash; 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: '&copy; <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

Ошибка, которую я получил раньше, выглядела так:

screen shot 2015-07-29 at 3 07 40 pm

В конце концов я использовал другого провайдера (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 &copy; <a href=\"http://openstreetmap.org\">OpenStreetMap</a> contributors, ' +
                        '<a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">CC-BY-SA</a>, ' +
                        'Imagery &copy; <a href=\"http://mapquest.com\">Mapquest</a>',
                    id: 'examples.map-i875mjb7'
                }).addTo(map);
            });

Я решил это благодаря @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: '&copy; <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 на своем собственном сервере, и поэтому ссылка на них на моей индексной странице является локальной, и теперь все работает правильно.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги