#leaflet #apache-zeppelin
#листовка #apache-zeppelin
Вопрос:
Я работаю над блокнотом Zeppelin с Spark. Я использую листовку для создания визуализации карты, а также для создания полигона. Это пример, который я хочу запустить в блокноте Zeppelin:-
%angular
<!DOCTYPE html>
<html>
<head>
<title>Quick Start - Leaflet</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css" integrity="sha512-puBpdR0798OZvTTbP4A8Ix/l A4dHDD0DGqYW6RQ 9jxkRFclaxxQb/SJAWZfWAkuyeQUytO7 7N4QKrDh drA==" crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js" integrity="sha512-QVftwZFqvtRNi0ZyCtsznlKSWOStnDORoefr1enyq5mVL4tmKB3S/EnC3rRJcxCPavG10IcrVGSmPh6Qw5lwrg==" crossorigin=""></script>
</head>
<body>
<div id="mapid" style="width: 600px; height: 400px;"></div>
<script>
var mymap = L.map('mapid').setView([51.505, -0.09], 13);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
maxZoom: 18,
attribution: 'Map data amp;copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, '
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, '
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
id: 'mapbox.streets'
}).addTo(mymap);
L.marker([51.5, -0.09]).addTo(mymap)
.bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();
L.circle([51.508, -0.11], 500, {
color: 'red',
fillColor: '#f03',
fillOpacity: 0.5
}).addTo(mymap).bindPopup("I am a circle.");
L.polygon([
[51.509, -0.08],
[51.503, -0.06],
[51.51, -0.047]
]).addTo(mymap).bindPopup("I am a polygon.");
var popup = L.popup();
</script>
</body>
</html>
Только свойство marker работает нормально, тогда как API circle и polygon не отображают никаких выходных данных на карте. В журнале консоли не было ошибки. Я также прошел по этой ссылке http://datasystemslab.github.io/GeoSpark/download/zeppelin / где говорится: «в Leaflet JS с Zeppelin есть проблема». Я понятия не имею, что здесь происходит, поскольку нет журналов ошибок.
Ответ №1:
По умолчанию все svg-теги в абзаце имеют размер 100%.
Вы можете изменить его следующим образом.
%angular
<!DOCTYPE html>
<html>
<head>
<title>Quick Start - Leaflet</title>
<style>
#mapid svg.leaflet-zoom-animated {
width: auto;
}
</style>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css" integrity="sha512-puBpdR0798OZvTTbP4A8Ix/l A4dHDD0DGqYW6RQ 9jxkRFclaxxQb/SJAWZfWAkuyeQUytO7 7N4QKrDh drA==" crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js" integrity="sha512-QVftwZFqvtRNi0ZyCtsznlKSWOStnDORoefr1enyq5mVL4tmKB3S/EnC3rRJcxCPavG10IcrVGSmPh6Qw5lwrg==" crossorigin=""></script>
</head>
<body>
<div id="mapid" style="width: 600px; height: 400px;"></div>
<script>
var mymap = L.map('mapid').setView([51.505, -0.09], 13);
L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
maxZoom: 18,
attribution: 'Map data amp;copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors, '
'<a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, '
'Imagery © <a href="https://www.mapbox.com/">Mapbox</a>',
id: 'mapbox.streets'
}).addTo(mymap);
L.marker([51.5, -0.09]).addTo(mymap)
.bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();
L.circle([51.508, -0.11], 500, {
color: 'red',
fillColor: '#f03',
fillOpacity: 0.5
}).addTo(mymap).bindPopup("I am a circle.");
L.polygon([
[51.509, -0.08],
[51.503, -0.06],
[51.51, -0.047]
]).addTo(mymap).bindPopup("I am a polygon.");
var popup = L.popup();
</script>
</body>
</html>
Комментарии:
1. Пожалуйста, постарайтесь предоставить больше деталей, чем только ссылку.
2. Да, я его модифицировал.