【发布时间】:2021-08-13 14:43:23
【问题描述】:
我正在尝试创建一个 Leaflet 地图,它会自动在 Google 表格中的目的地之间添加标记和折线。
我已经设法从链接到我的 Google 表格的其他示例中设置了一个地图。您可以在此处查看示例:
<!DOCTYPE html>
<html>
<head>
<script src='//cdn.jsdelivr.net/npm/tabletop@1.5.2/src/tabletop.min.js'></script>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.4/dist/leaflet.css" />
<script src="//unpkg.com/leaflet@1.3.4/dist/leaflet.js"></script>
<style>
#map-div {
position: absolute;
height: 100%;
width: 100%;
}
</style>
</head>
<body>
<div id="map-div"></div>
</body>
</html>
var map = L.map('map-div').setView([60.1682653, 24.9422078], 5);
var basemap = L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: 'Basemap (c) <a href="http://openstreetmap.org">OpenStreetMap</a>',
minZoom: 5,
maxZoom: 100
});
basemap.addTo(map);
function addPoints(data, tabletop) {
for (var row in data) {
var marker = L.marker([
data[row].Latitude,
data[row].Longitude
]).addTo(map);
marker.bindPopup('<strong>' + data[row].Info + '</strong>');
}
}
function init() {
Tabletop.init({
key: 'https://docs.google.com/spreadsheets/d/1Rs6xPlJ8pU4UFfmokjATaf4dArMWxQxZcyS-xRIIFuY/edit?usp=sharing',
callback: addPoints,
simpleSheet: true
})
}
init()
https://jsfiddle.net/Enounce/kwvn5e6z/12/
但不幸的是,我没有能力让地图按我的意愿行事:
- 在标记Draw lines between markers in leaflet之间画线
- 缩放以适应所有标记Zoom to Fit All Markers on LeafletJS Map
- 如果可能,添加所有目的地的概览,就像 Google 地图中的路线面板一样。不过我还没有找到这方面的例子。
我不确定如果目的地位于外部来源中,这是否可能。任何帮助表示赞赏!
【问题讨论】:
标签: google-sheets leaflet